偶然看到一个数学建模, 简化下来类似菲波那其数列: 第四个元素为前三元素之和. 实例:
问题是怎么用迭代法表示, 也就是尾递归. 为了便于演示, 以下用JS描述.
这个例子要说明的是, 参数list, (x y z), 其实可以看作一个Queue. 这个队列一直向左pop,从右端push. 当然长度是固定的.
还有个小插曲是 n = 0 的判断, 由于 n = 1, 2, 3是写死的, 如果判断多个分支就可以少循环两次. 不过这严格来说甚至不是工程问题... 是Linus讲的<品位问题>