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">

=== {{header|Chez Scheme}} ===
<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>

== 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}}==
=={{header|Clojure}}==