-2
(define (checksum-2 ls) (if (null? ls) 0 (let ([n 0]) (+ (+ n 1))(* n (car ls))(checksum-2 (cdr ls)))))
好吧,我有這個代碼,它假設,如果我寫它的權利,數量(n)應該增加一次,每次它通過列表,所以n(在現實)應該像1 2 3 4,但我希望n乘以列表中的汽車。沒有返回我需要的答案
一切都加載,但當答案返回時,我得到0.
謝謝!
嗯,你看,我不知道如何去這樣做。我沒有得到的是爲什麼我的函數忽略數學,只是返回0? –
你沒有對算術計算的結果做任何事情。你的'checksum-2'函數可以返回的惟一值就是'0',或者任何'(checksum-2(cdr ls))'返回的值。所以最終它總是返回'0'。 –
那麼需要改變什麼?就像我一直在這裏呆了幾個小時,而且我沒有到任何地方。這是遞歸調用的東西? –