我目前正试图在Common Lisp中解决这个问题:
- 设定一个函数,当给定三个参数(u r n)时,返回由第一个术语“u”定义的几何序列的“n”个第一项的平均值及其公共比率“r”。
我想知道的是,如果我应该递归地或迭代地解决这个问题,我已经阅读了很多关于何时选择递归以及何时选择迭代的帖子,但它们还很不清楚。
PS:我使用的编译器支持尾递归。
答案 0 :(得分:3)
都不是。使用explicit formula。
PS。迭代和递归之间的选择应基于代码可读性和可维护性,而不仅仅是速度:
......计算机语言不仅仅是一种获取计算机的方式 执行操作,而是......它是一种新颖的正式媒介 表达对方法论的看法
Abelson/Sussman "Structure and Interpretation of Computer Programs"