我正在嘗試編寫一個迭代過程,以使用內置過程中的模,餘數或/,在方案中執行模算術,而不使用。但是我遇到了一些問題,而試圖寫的代碼,它看起來像這樣至今:重複減法迭代模?
(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)所示。 –