http://acm.hdu.edu.cn/showproblem.php?pid=2070
Problem Description
Your objective for this question is to develop a program which will generate a fibbonacci number. The fibbonacci function is defined as such:
f(0) = 0
f(1) = 1
f(n) = f(n-1) + f(n-2)
Your program should be able to handle values of n in the range 0 to 50.
f(0) = 0
f(1) = 1
f(n) = f(n-1) + f(n-2)
Your program should be able to handle values of n in the range 0 to 50.
Input
Each test case consists of one integer n in a single line where 0≤n≤50. The input is terminated by -1.
Output
Print out the answer in a single line for each test case.
Sample Input
3
4
5
-1
Sample Output
2
3
5
代码:
#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
long long int f[maxn];
int main()
{
int n;
while(~scanf("%d",&n))
{
if(n==-1)
break;
for(int i=1; i<=50; i++)
{
if(i==1||i==2)
f[i]=1;
else
{
f[i]=f[i-1]+f[i-2];
}
}
printf("%lld\n",f[n]);
}
return 0;
}