RosettaCodeData/Task/Sum-digits-of-an-integer/Chipmunk-Basic/sum-digits-of-an-integer-2.basic
2023-12-16 21:33:55 -08:00

12 lines
340 B
Text

(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