第二篇、C_递归算法
简介:
在实际应用当中,我们常常会接触到一些递归的数法。
应用实例:
1.关系
2.出口
例如:
1 + 2 + 3+...+100;
从上面的式子可以看出,
关系:f(n) = f(n-1) + 1;
出口:f(1) = 1;
由此可得递归算法为:
// 第n个数为 int f(int n) { if(n == 1) { // 出口
return 1; } else { return f(n-1) + 1; } }
斐波那契数列:
1、1、2、3、5、8、13、21、……
从上面的式子可以看出,
关系:f(n) = f(n-1) + f(n-2); (n>=2)
出口:f(1) = 1,f(2) = 1;
由此可得递归算法为:
// 第n个数为 int f(int n) { if(n == 1) { // 出口 return 1; } else if(n == 2) { return 1; } else { return f(n-1) + f(n-2); } }