我发觉我比较笨,这种水的题我都会有一堆问题,果然我比较怂。。。唉。。。
//#include<stdio.h> //int main() //{ // int f(int n); // int N; // while(scanf("%d",&N)!=EOF&&N!=-1) // { // printf("%d\n",f(N)); // } // return 0; //} // int f(int n){ // int s; // if(n==0){ // return 0; // } // if(n==1){ // return 1; // }else{ // return f(n-1) + f(n-2); // // } // // } #include<stdio.h> int main() { int n,i; __int64 s[100]; while(scanf("%d",&n)!=EOF&&n!=-1) { s[0]=0; s[1]=1; for(i=2;i<=n;i++) { s[i]=s[i-1]+s[i-2]; } printf("%I64d\n",s[n]); } return 0; } //you can use 64bit integer: __int64 //我也不能理解为什么递归会超时???
时间: 2024-10-12 17:36:42