Sum digits of an integer: Difference between revisions
m
Missing "4" in "1234"
imported>Md1frejo |
m (Missing "4" in "1234") |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1,541:
{{out}}
<pre>1 15 15 29 29</pre>
=={{header|Chez Scheme}}==
<syntaxhighlight lang="scheme">
(define dsum (lambda (x base)
(let ((number (if (string? x) (string->number x base) x)))
(if (= (string-length (number->string number)) 1) number
(+ (mod number base) (dsum (div number base) base))))))
> (dsum 123 10)
6
> (dsum "fe" 16)
29
> (dsum "f0e" 16)
29
> (dsum 1234 10)
10
</syntaxhighlight>
=={{header|Clojure}}==
Line 2,490 ⟶ 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 4,865 ⟶ 4,896:
=={{header|Wren}}==
{{libheader|Wren-fmt}}
<syntaxhighlight lang="
var sumDigits = Fn.new { |n, b|
Line 4,882 ⟶ 4,913:
var b = test[1]
var sum = sumDigits.call(n, b)
}</syntaxhighlight>
|