我的遞歸函數將給定區域乘以1.5直到達到100,000。輸出應該是它乘以1.5倍的次數。我想我理解我需要做的大部分工作,但我不知道應該在我的(如果)聲明中放置什麼。方案:簡單遞歸
(define area-multiplier
(lambda (area)
(if (< 100000 area)
0 ;what do I put here?
(+ 1 (area-multiplier (* area 1.5))))))
我的遞歸函數將給定區域乘以1.5直到達到100,000。輸出應該是它乘以1.5倍的次數。我想我理解我需要做的大部分工作,但我不知道應該在我的(如果)聲明中放置什麼。方案:簡單遞歸
(define area-multiplier
(lambda (area)
(if (< 100000 area)
0 ;what do I put here?
(+ 1 (area-multiplier (* area 1.5))))))
用一個例子思考一下。在這種情況下,相關的例子是
(area-multiplier 100000)
和
(area-multiplier 100001)
什麼應該將這些生產?
哦,我明白了。我希望他們能夠產生面積乘以1.5的次數。因此,0在該點是正確的,因爲它會將總數加0並停止遞歸。謝謝! – jblittle