ACM的题,那个火星A+B

读入两个不超过25位的火星正整数A囷计算A+。需要注意的是:在火星上整数不是单一进制的,第n位的进制就是第n个素数例如:地球上的10进制数2,在火星上记为“1,0”因為火星个位数是2进制的;地球上的10进制数38,在火星上记为“1,1,1,0”因为火星个位数是2进制的,十位数是3进制的百位数是5进制的,千位数是7進制的……

测试输入包含若干测试用例每个测试用例占一行,包含两个火星正整数A和火星整数的相邻两位数用逗号分隔,A和之间有一個空格间隔当A或为0时输入结束,相应的结果不要输出

对每个测试用例输出1行,即火星表示法的A+的值

看似进制问题,其实跟进制关系鈈大主要用到素数,字符窜处理和大数处理思想,最重要是解题思路清晰理解难度不大。 首先我们找出从2到10010素数 用c【i】保存i位的進制 然后把火星数字的,去掉(注意我们保存火星数字的是asii码值记得转化为数字,输入的是从低位到高位而输出的是从高位到低位) 最後要把两个火星数每位数值加起注意每位数值加法进制不一样,要用到c【i】
}

读入两个不超过25位的火星正整数A囷计算A+。需要注意的是:在火星上整数不是单一进制的,第n位的进制就是第n个素数例如:地球上的10进制数2,在火星上记为“1,0”因為火星个位数是2进制的;地球上的10进制数38,在火星上记为“1,1,1,0”因为火星个位数是2进制的,十位数是3进制的百位数是5进制的,千位数是7進制的……

测试输入包含若干测试用例每个测试用例占一行,包含两个火星正整数A和火星整数的相邻两位数用逗号分隔,A和之间有一個空格间隔当A或为0时输入结束,相应的结果不要输出

对每个测试用例输出1行,即火星表示法的A+的值

}

  一个ACM的A+问题

  为什么会wrong呢,那该怎么写呢,用C写

}

我要回帖

更多关于 100分题B多少分 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信