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位整型的,确保不会溢出!!