nyoj-114

来源:互联网 发布:淘宝哪里有好的牛仔裤 编辑:程序博客网 时间:2024/05/01 19:40

大数斐波那契数列

跟hdu1250相似,不够更难做一点


#include<stdio.h>#include<string.h>#define N 103#define M 800#define base 100000000 //进制int a[N][M];int main(){    int i,j,n,x,y,z;while(scanf("%d%d%d",&x,&y,&z)!=EOF){if(x==0 && y==0 && z==0)//变态测试数据0 0 0{printf("0\n");continue;}memset(a,0,sizeof(a));//初始化a[1][1]=x;a[2][1]=y;a[3][1]=z;for(i=4;i<N;++i)for(j=1;j+1<M;++j)//j+1<M 主要是a[i][j+1]这里不能越界,也可以写j<M,{//没太大影响,因为测试数据运行没那么大,无法进位a[i][j]+=a[i-1][j]+a[i-2][j]+a[i-3][j];if(a[i][j]>=base){a[i][j+1]+=a[i][j]/base;a[i][j]%=base;}}n=100;//不能是99,跟存储有关for(i=M-1;i>=1;--i)if(a[n][i]!=0){printf("%d",a[n][i]);i--;break;}while(i>=1){printf("%08d",a[n][i]);            i--;        }        printf("\n");    }    return 0;}


原创粉丝点击