Sum digits of an integer: Difference between revisions

PascalABC.NET
imported>Md1frejo
(PascalABC.NET)
 
(3 intermediate revisions by 2 users not shown)
Line 2,507:
}
}</syntaxhighlight>
 
 
=={{header|Golfscript}}==
<syntaxhighlight lang="golfscript">{base {+}*}:sd;</syntaxhighlight>
 
Test (apply sd for each array [number radix]) :
 
{{out}}
<pre>[[1 10] [1234 10] [254 16] [3854 16]] {~sd p}%
1
10
29
29
</pre>
 
=={{header|Groovy}}==
Line 3,695 ⟶ 3,709:
$FOE sums to 29
18446744073709551615 sums to 87</pre>
 
=={{header|PascalABC.NET}}==
<syntaxhighlight lang="delphi">
function SumDigits(n, base: integer): integer;
begin
var sum := 0;
while n > 0 do
begin
sum += n mod base;
n := n div base;
end;
Result := sum;
end;
 
begin
Print(SumDigits(1, 10));
Print(SumDigits(1234, 10));
Print(SumDigits($FE, 16));
Print(SumDigits($F0E, 16));
end.
</syntaxhighlight>
{{out}}
<pre>
1 10 29 29
</pre>
 
 
=={{header|Perl}}==
Line 4,882 ⟶ 4,922:
=={{header|Wren}}==
{{libheader|Wren-fmt}}
<syntaxhighlight lang="ecmascriptwren">import "./fmt" for Fmt, Conv
 
var sumDigits = Fn.new { |n, b|
Line 4,899 ⟶ 4,939:
var b = test[1]
var sum = sumDigits.call(n, b)
SystemFmt.print("%(Fmt.s($-55s in base $2d = $2d", Conv.itoa(n, b))) in base %(Fmt.d(2, b)) = %(Fmt.d(2, sum))")
}</syntaxhighlight>
 
222

edits