SICP 习题 (1.43)解题总结
生活随笔
收集整理的這篇文章主要介紹了
SICP 习题 (1.43)解题总结
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
SICP 習(xí)題 1.43 是前面兩道題的延續(xù),習(xí)題要求我們定義一個過程(repeat f n) 。當(dāng)中f是一個單參數(shù)過程。題目要求我們通過repeat過程將過程f調(diào)用n次,注意是嵌套調(diào)用n次,不是連續(xù)調(diào)用n次。就是說結(jié)果應(yīng)該是(f ( f ( … (f x) …)))。而不是(begin (f x) (f x) (f x) … (f x))。
題目還提醒我們使用習(xí)題1.42所定義的compose方法。
細(xì)致想想的話這一工作能夠通過遞歸調(diào)用完畢,就是(repeat f n) 等于 (compose f (repeat f (- n 1))。就是說n次嵌套調(diào)用f能夠轉(zhuǎn)換成(f (<n-1次嵌套調(diào)用f))。
理解了這一點后就比較easy了,控制好遞歸調(diào)用的結(jié)束就能夠了。代碼例如以下:
(define (repeat f n)
(define (repeat-inner f cur-n)
(if (< cur-n n)
(compose f (repeat-inner f (+ cur-n 1)))
f ))
(repeat-inner f 1))
總結(jié)
以上是生活随笔為你收集整理的SICP 习题 (1.43)解题总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 教师节贺卡写什么送给语文,数学,英语老师
- 下一篇: 写一篇端午节的习俗和来历。