【发布时间】:2018-09-29 08:30:09
【问题描述】:
我正在尝试使用递归在 Scheme 中进行乘法运算,我可以使用正数而不是负数(它们陷入无限循环)。我假设问题出现在第 3 行和第 4 行,我写这些是为了能够处理负面影响。任何帮助将不胜感激:)
(define Multiply(lambda (x y)
(if (eq? x 0) 0 (if (eq? y 0) 0 ;if either x or y are zero, return 0
(if (> 0 x) (- 0 (+ x (Multiply x (- y 1))))
(if (> 0 y) (- 0 (+ x (Multiply x (- y 1))))
(+ x (Multiply x (- y 1)))))))))
【问题讨论】:
标签: recursion functional-programming scheme racket