Fibbonacci Number
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 17675 Accepted Submission(s): 8422
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这是一道编程最基础最基础入门的题目了,在ACM上面的话讲就是水题,我们采用外围打表法,可以降低时间复杂度。代码如下:#include <iostream> #include <cstring> using namespace std; long long a[51]; void initial() { a[0]=0; a[1]=1; for(int i=2;i<=50;i++) { a[i]=a[i-1]+a[i-2]; } } int main() { int n; initial(); while(cin>>n&&n!=-1) { cout<<a[n]<<endl; } return 0; }