1199: 火星A+B
[Creator : ]
Description
读入两个不超过25位的火星正整数A和B,计算A+B。需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数。例如:地球上的10进制数2,在火星上记为“1,0”,因为火星个位数是2进制的;地球上的10进制数38,在火星上记为“1,1,1,0”,因为火星个位数是2进制的,十位数是3进制的,百位数是5进制的,千位数是7进制的……,每位的进制基数按从小到大的素数递增。
Input
输入包含多组测试数据,每组测试数据一行,包含两个火星正整数A和B,火星整数的相邻两位数用逗号分隔,A和B之间有一个空格间隔。当A和B都为0时输入结束,相应的结果不要输出。
Output
针对每组测试数据输出1行,即火星表示法的A+B的值。
Sample Input Copy
输入样例一
3,2,0 1,2,0
0 0
输入样例二
1,0 2,1
4,2,0 1,2,0
1 10,6,4,2,1
0 0
Sample Output Copy
输出样例一
1,0,1,0
输出样例二
1,0,1
1,1,1,0
1,0,0,0,0,0
HINT
首先要把前25位素数给求出来,然后把两个数从低位到高位依次相加。我们知道十进制加法是逢十进一,对于此题则是逢prime[i]进1(prime[i]表示第i小的素数),最后再按相应的格式要求输出即可。
------
ywt 30295
------
ywt 30295