Scheme 方案和数

Scheme 方案和数,scheme,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 (/

我对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)) ) ) 

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

您的余数有什么不起作用?您期望什么?该计划的行为与您的期望有何不同?这听起来像是一个简单的操作。请发布到目前为止您编写的代码(define(rements a b)(-a(*b(floor(/a b))))(define(somar num)(+(rements num 10)(floor(rements(/num 10)10))(floor(rements(/num 100)10)))尝试从创建数字中所有数字列表的函数开始。然后
(应用+数字列表)
。如果只有一个数字,那就是总和;否则,它是将最后一位数字与其他数字之和相加的结果。