大整数相加
作者:互联网
大整数相加
大整数相加
原题链接: link.
图片:
代码如下
// 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