Problem Description
编写计算斐波那契(Fibonacci)数列的第n项函数fib(n)(n<40)。
数列:
f1=f2==1;
fn=fn-1+fn-2(n>=3)。
Input
输入整数n的值。
Output
输出fib(n)的值。
Sample Input
7
Sample Output
13
#include<stdio.h>
int fib(int n)
{
int f1=1,f2=1,f;
for(int i=1;i<=n;i++)
{
if(i==1||i==2)
{
f=1;
}
else//递推版三行情书
{
f=f1+f2;
f2=f1;
f1=f;
}
}
return f;
}
int main()
{
int n,res;
scanf("%d",&n);
res=fib(n);
printf("%d\n",res);
return 0;
}
//这个里面有一个基本的递推,就是3=2+1,4=3+2,5=4+3,6=5+4……,每一个的f都是f1与f2的和,而f1就是上一个的f,f2就是上一个的f1;