斐波那契数列
1 1 2 3 5 8 13 21...
即每一项都是前两项之和的数列
经典解法是使用递归
不过递归的效率太低,推荐如下代码,只需2个变量存值,效率高
(假设n>0,故没有对n<=0的情况做处理)
1 1 2 3 5 8 13 21...
即每一项都是前两项之和的数列
经典解法是使用递归
不过递归的效率太低,推荐如下代码,只需2个变量存值,效率高
int fibonacci(int n){
int a=1,b=1;
for(int i=2;i<n;i++){
//交换a和b,更新a的值
a=a^b;
b=a^b;
a=a^b;
//更新b的值
b=a+b;
}
return b;
}
(假设n>0,故没有对n<=0的情况做处理)