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 ",f[n]); } return 0; }