超级楼梯

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int N,M,i;
 6     scanf("%d",&N);
 7     while(N--)
 8     {
 9         scanf("%d",&M);
10         __int64 f1=1,f2=1,f;
11         if(M==1||M==2)
12             printf("1\n");
13         else
14         {
15             for(i=3;i<=M;i++)
16             {
17                 f=f1+f2;
18                 f1=f2;
19                 f2=f;
20             }
21             printf("%I64d\n",f);
22         }
23     }
24     return 0;
25 }

这个题就是一个斐波那契数列,值得注意的是最好定义64位整型的,确保不会溢出!!

posted @ 2012-06-23 23:25  欧阳生朵  阅读(318)  评论(0编辑  收藏  举报