; modified coin change
(define (digits n . args)
(let ((b (if (null? args) 10 (car args))))
(let loop ((n n) (d '()))
(if (zero? n) d
(loop (quotient n b)
(cons (modulo n b) d))))))
(define (sum xs) (apply + xs))
(define (f n) (sum (digits n 5)))
(display (f 42)) (newline)
(display (f 142)) (newline)
OyBtb2RpZmllZCBjb2luIGNoYW5nZQoKKGRlZmluZSAoZGlnaXRzIG4gLiBhcmdzKQogIChsZXQgKChiIChpZiAobnVsbD8gYXJncykgMTAgKGNhciBhcmdzKSkpKQogICAgKGxldCBsb29wICgobiBuKSAoZCAnKCkpKQogICAgICAoaWYgKHplcm8/IG4pIGQKICAgICAgICAgIChsb29wIChxdW90aWVudCBuIGIpCiAgICAgICAgICAgICAgICAoY29ucyAobW9kdWxvIG4gYikgZCkpKSkpKQoKKGRlZmluZSAoc3VtIHhzKSAoYXBwbHkgKyB4cykpCgooZGVmaW5lIChmIG4pIChzdW0gKGRpZ2l0cyBuIDUpKSkKCihkaXNwbGF5IChmIDQyKSkgKG5ld2xpbmUpCihkaXNwbGF5IChmIDE0MikpIChuZXdsaW5lKQ==