1.条件
前两个数之和等于后一位数
例:1,1,2,3,5......
2.代码
while的括号里的数表示的是个数,a>=3是因为第一个以及第二个斐波那契数都是1,a--是因为要算进行a次循环每进行一次,就要减去一次,直到a的值小于3后停止循环,返回c(c的值为第a位斐波那契数的值)
c = a + b;
a = b;
b = c;
因为每位斐波那契数都是前两位之和,所以算出来的c可以作为下一位c的b而上一位的b又是下一次的a,所以用赋值的方法来实现
/* if (a >= 3)
{
return c(a - 1) +c (a - 2);
}
else
return 1;
*/
}
屏蔽掉的是递归方法,递归如果计算较大位的数计算会变慢并且容易栈溢出
例如:第一次a=2;b=3
c=a+b=5;
2,3,5,_F_要算出横线的值F
则F=3+5=6;此时的3就是第一次的b值,而5就是第一次的c值