有我的完美数函数的问题。 代码的目的是确定的数量是一个完美的数字,这意味着它是等于其约数的总和。 例如:6。 有我的代码的麻烦林。 这里是我的功能:
(define (is-perfect x)
(define (divides a b) (= (modulo b a) 0))
(define (sum-proper-divisors y)
(if (= y 1)
1
(if (divides y x)
(+ y (sum-proper-divisors (- y 1)))
(if (= x 1)
#f
(= (sum-proper-divisors (- x 1)
x)))))))