递归和迭代都是循环的一种
- 递归:函数自己重复调用自己实现循环。典例:斐波那契
- 迭代:在函数内某段代码实现循环。典例:从1递增到100,求和。迭代则使用计数器结束循环
提到递归recursion,最容易令人想起的是…兔子繁衍 → 斐波那契数列(Fibonacci sequence),又称黄金分割数列,定义为:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…
由意大利数学家列昂纳多·斐波那契(Leonardoda Fibonacci)提出。(剩下自行baidu吧)
这是他老人家
我不知道为什么要放他照片…显得文章没那么单调吧
#include<stdio.h>
int Fi (int i) //Fi for Fibonacci
{
if( i < 2 )
return i == 0 ? 0 : 1;
return Fi (i - 1) + Fi (i - 2); //函数自己在调用自己
}
in