我正在尝试编写一个迭代过程,以使用内置过程中的模,余数或/,在方案中执行模算术,而不使用。但是我遇到了一些问题,而试图写的代码,它看起来像这样至今:重复减法迭代模?
(define (mod a b)
(define (mod-iter a b)
(cond ((= b 0) 0)
((< b 0) (+ old_b new_b))))
(mod-iter a (- a b)))
正如你所看到的,我跑进需要到B的初始值添加到当前的问题b的价值。我不知道如何去做。此外,当我离开第二个条件的答案是原始数据(只是为了确保enitre程序工作),我会得到一个“未指定返回值”的错误,我不知道为什么会发生,因为我的代码的其余部分循环(或似乎?) 先谢谢你对此有任何见解。
什么是'old_b'和'new_b'? –
请注意,这只是一次内部定义的使用是一个很好的地方使用“命名让”,如@ÓscarLópez的[最近的答案](http://stackoverflow.com/a/19084091/1281433)所示。 –