递归:
int Fib(int n){
if (n == 1 || n == 2)
return 1;
return Fib(n-1) + Fib(n-2);
}
非递归:
int Fib(int n){
int num1 = 1, num2 = 1, num3 = 0;
if (n == 1 || n == 2) //前两项都为1
return 1;
for (int i = 2; i < n; i++){
num3 = num1 + num2; //后一项等于前两项的和
num1 = num2; //现在前面的第二个就没用了,将它换到前一个数字
num2 = num3;
}
return num3;
}