上台阶
题目链接: http://exercise.acmcoder.com/online/online_judge_ques?ques_id=1668&konwledgeId=136
解题思路: f[n]=f[n-1]+f[n-2]。
1 #include <bits/stdc++.h> 2 using namespace std; 3 4 const int MAXN=100005; 5 typedef long long LL; 6 7 LL f[41]; 8 9 void init() 10 { 11 f[0]=1LL;f[1]=0LL;f[2]=1LL;f[3]=2LL; 12 for (int i=4;i<=40;++i) 13 f[i]=f[i-1]+f[i-2]; 14 } 15 16 int main() 17 { 18 #ifndef ONLINE_JUDGE 19 freopen("test.txt","r",stdin); 20 #endif // ONLINE_JUDGE 21 init(); 22 int Case; 23 scanf("%d",&Case); 24 while (Case--) 25 { 26 int n; 27 scanf("%d",&n); 28 printf("%lld\n",f[n]); 29 } 30 return 0; 31 }