高效率斐波那契代码

斐波那契数列
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的情况做处理)

猜你喜欢

转载自leozam.iteye.com/blog/2384892
今日推荐