1 1 1
69087442470169316923566147
#include<cstdio> #include<cstdlib> #include<cstring> using namespace std; int sum[110][110]; int main() { int a,b,c,i,j,n,k,q,p; while(scanf("%d%d%d",&a,&b,&c)==3){ memset(sum,0,sizeof(sum));i=j=0; if(a==0&&b==0&&c==0){ printf("%d\n",0);continue; } while(a){ sum[0][j++]=a%10; a=a/10; }j=0; while(b){ sum[1][j++]=b%10; b=b/10; }j=0; while(c){ sum[2][j++]=c%10; c=c/10; } for(i=3;i<=99;++i){ q=p=0; for(j=0;j<=110;++j){ p=sum[i-1][j]+sum[i-3][j]+q+sum[i-2][j]; sum[i][j]=(sum[i-1][j]+sum[i-3][j]+sum[i-2][j]+q)%10; q=p/10; } } for(i=109;i>=0;--i){ if(sum[99][i]!=0)break; } for(j=i;j>=0;--j) printf("%d",sum[99][j]); printf("\n"); } return 0; }
原文:http://blog.csdn.net/r1986799047/article/details/42835863