#include <stdio.h>
#include <memory.h>
#define MAXN 30
int primes[26]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101};
int a[MAXN],b[MAXN],sum[MAXN],acount,bcount,count;
char c;
int main(){
int i,j;
//循环
while(1){
//数组初始化
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(sum,0,sizeof(sum));
i=0;//i用于计数
for(;;){
scanf("%d%c",&a[i],&c);
if(c==' ')
break;
else
i++;
}
acount=i;
i=0;//i用于计数
for(;;){
scanf("%d%c",&b[i],&c);
if(c=='\n')
break;
else
i++;
}
bcount=i;
//循环结束
if(acount==0&&bcount==0&&a[0]==0&&b[0]==0)
break;
count=(acount>bcount)?acount:bcount;//位数大的设为和的位数
//从低位到高位相加
for(i=acount,j=0;j>=0;i--,j++)
sum[j]+=a[i];
for(i=bcount,j=0;i>=0;i--,j++)
sum[j]+=b[i];
//判断是否有进位
for(i=0;i<=count;i++)
if(sum[i]>=primes[i]){
sum[i]-=primes[i];
sum[i+1]++;
}
if(sum[count+1])
count++;
for(i=count;i>0;i--)
printf("%d,",sum[i]);
printf("%d\n",sum[0]);
}
return 0;
}
HDU1230 火星A+B【进制】
最新推荐文章于 2021-01-25 23:04:00 发布