http://acm.hdu.edu.cn/showproblem.php?pid=1715
大菲波数,用大数相加来做,打表后查表
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
#include<stdio.h> int f[1010][300]; int main() { int i,j,n,t; scanf("%d",&t); f[2][0]=f[1][0]=1; for(i=3;i<1001;i++) { for(j=0;j<300;j++) f[i][j]=f[i-1][j]+f[i-2][j]; for(j=0;j<300;j++) if(f[i][j]>9) { f[i][j+1]+=f[i][j]/10; f[i][j]%=10; } } while(t--) { scanf("%d",&n); i=299; while(f[n][i]==0)i--; while(i>=0) printf("%d",f[n][i--]); printf("\n"); } return 0; }