方案总数

时间:2016-05-02 22:14:16

标签: scheme

我对Scheme很新,如何制作一个程序来汇总一个数字中的所有个别数字?

示例:758将返回20,因为7 + 5 + 8 = 20

我试图弄清楚其余部分,但由于某些原因无法正常工作

(define (remainder a b)
   (- a (* b (floor (/ a b)))) )

(define (somar num)
   (+ (remainder num 10)
      (floor (remainder (/ num 10) 10))
      (floor (remainder (/ num 100) 10)) ) ) 

1 个答案:

答案 0 :(得分:1)

首先,您不需要定义remainder,因为这是一个标准程序。其次,您的解决方案仅适用于三位数或更少的数字。尝试递归调用您的过程。