如果f是一个数值函数,而n是一个正整数,那么我们可以形成f的第n次重复应用,它被定义为在x处的值为f(f(...(f X))...))。例如,如果f是函数x + 1,那么f的第n次重复应用就是函数x + n。如果f是对数字进行平方运算,则f的第n次重复应用是将其论点提升到2^n次幂的函数。编写一个程序,该程序将一个计算f和一个正整数n的程序作为输入,并返回计算f的第n次重复应用程序。你的程序应该能够被用作如下:在Scheme中重复应用函数?
((repeated square 2) 5) 625
你可以使用这个简化的答案:
(define (compose f g) (lambda (x) (f (g x))))
1
A
回答
1
你刚才删除和reask这个问题?我在这里复制我以前的答案(谢天谢地,我的浏览器缓存了它):
嗯,你可能想要这样的东西吧?
((repeated square 3) 5)
-> (square ((repeated square 2) 5))
-> (square (square ((repeated square 1) 5)))
-> (square (square (square ((repeated square 0) 5))))
-> (square (square (square (identity 5))))
(我不知道标识是否在计划预定义的。如果没有,很容易写。)
现在,这不是直接可重复的,因为你不能神奇的外封装代码呼叫重复与任意的东西。但是,使用撰写重写时,这些缩减步骤是什么样的?你能在结果列表中找出一个模式并重现它吗?
1
(define (repeated f n)
(if (= n 1)
f
(compose f (repeated f (- n 1)))))
相关问题
- 1. Scheme:重新定义内置函数
- 2. SCHEME中的Remove-1st函数
- 3. Scheme中的签名函数?
- 4. 在Scheme中实现min/max函数
- 5. 如何在Android应用程序中重复调用函数?
- 6. 在javascript中调用重复函数
- 7. Scheme,高阶函数和curried函数
- 8. 在函数中重复参数
- 9. 重复调用嵌入在init函数中的函数
- 10. 调用函数的Python重复函数
- 11. 函数重复调用
- 12. 重复函数调用
- 13. 如何在Scheme中使用符号作为函数?
- 14. 在Permute函数中重复的问题
- 15. 重复php函数
- 16. 如何在Scheme中指数?
- 17. Scheme:函数,返回数字列表
- 18. Scheme函数返回第一个数字
- 19. 从WebKit iframe中的远程URI重定向到AIR应用:/ scheme
- 20. 在Python中重复函数内函数3
- 21. 函数中的重复参数检查
- 22. C++如何使用any_of在函数中查找重复数字?
- 23. 转换jQuery函数以便重复使用,不用重复
- 24. 抽象函数/避免函数重复
- 25. 如何从Scheme的列表中删除非重复的元素?
- 26. 我应该使用setInterval函数来重复这个还是一个Jquery重复函数?
- 27. 函数重复的重置计数器
- 28. R5RS Scheme,霍夫曼树函数
- 29. 以下函数在Scheme编程语言中做了什么
- 30. 集合函数在Scheme中如何工作?