斐波纳契数列,即黄金分割数列,形如这样的一个数列:0、1、1、2、3、5、8、13、21......。即后一项的值是前两项的和。
方法一:递归。从后往前,如果N的值较大,非常耗时。
int recursion(int n){
if(n == 1){
return 0;
}
if(n == 2){
return 1;
}
return recursion(n - 1) + recursion(n - 2);
}
方法二:循环。从前往后,速度快。
int func(int n){
int pre1 = 0, pre2 = 1, temp = 0;
for(int i = 0; i < n - 1; i++){
temp = pre1 + pre2;
pre1 = pre2;
pre2 = temp;
}
return pre1;
}