#include <iostream>

using namespace std;
//斐波那契数列递归与循环的两种实现
long long Fibonacci(unsigned int n){ //递归方法(由于存在大量重复计算效率非常低)不推荐
if(n<=0)
return 0;
if(n==1)
return 1;
return Fibonacci(n-1)+Fibonacci(n-2);
}
//循环实现J建议使用
long long Fibonacci2(unsigned int n){
int result[2] ={0,1};
if(n<2){
return result[n];
}
long long fibMinusOne = 1;
long long fibMinusTwo = 0;
long long fibN = 0;
for(unsigned int i=2;i<=n;i++){
fibN =fibMinusOne+fibMinusTwo;
fibMinusTwo = fibMinusOne;
fibMinusOne=fibN;
}
return fibN;
}