其他分享
首页 > 其他分享> > 大整数相加

大整数相加

作者:互联网

大整数相加

大整数相加

原题链接: link.

图片: Alt

代码如下

// An highlighted block
int n, m, i, j, aid, start;
int d1[1024];
while(scanf("%d %d",&n,&m)!=EOF){
    for(i=0; i<1024; i++) d1[i]=0;  // 初始化数组
    for(i=1; i<=n; i++){            // 累加n个数
        for(j=1023; j>=1024-i; j--){    // 高位相加
            if(d1[j]+m<10){
                d1[j]+=m; continue;}
            aid=0; d1[j-aid]+=m;
            while(d1[j-aid]>9){   // 向低进位
                d1[j-aid]%=10;
                d1[j-aid-1]++;
                aid++;}}}
        for(i=0; i<1023; i++){
            if(d1[i]||d1[i+1]){
                start = i+1;
                break;}}
        for(i=start; i<1024; i++) printf("%d", d1[i]);
        putchar('\n');
    }

标签:1024,int,相加,整数,start,aid,d1
来源: https://blog.csdn.net/weixin_43767774/article/details/121940667