Sum digits of an integer: Difference between revisions
Content added Content deleted
imported>Md1frejo |
imported>Md1frejo |
||
Line 842: | Line 842: | ||
170 wend |
170 wend |
||
180 sumdigits = sum |
180 sumdigits = sum |
||
190 return</syntaxhighlight> |
190 return</syntaxhighlight><syntaxhighlight lang="scheme"> |
||
⚫ | |||
⚫ | |||
(define dsum (lambda (x base) |
(define dsum (lambda (x base) |
||
(let ((number (if (string? x) (string->number x base) x))) |
(let ((number (if (string? x) (string->number x base) x))) |
||
Line 1,544: | Line 1,541: | ||
{{out}} |
{{out}} |
||
<pre>1 15 15 29 29</pre> |
<pre>1 15 15 29 29</pre> |
||
⚫ | |||
⚫ | |||
(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}}== |
=={{header|Clojure}}== |