[Home|Training|Problems|Contests|C Language] | [Login|Register] |
Problems Status Rank |
Problem 1172
进制转换
Time Limit: 10000ms
Memory Limit: 65536kb Description
小冷来到了火星(不要问我怎么去的,我也不知道,但是我知道他为什么去火星,因为地球太危险了),他发现,火星上的东西与地球上大不相同,比如说整数不是单一进制的,第n位的进制就是第n个素数。例如:地球上的10进制数2,在火星上记为“1,0”,因为火星个位数是2进制的;地球上的10进制数38,在火星上记为“1,1,1,0”,因为火星个位数是2进制的,十位数是3进制的,百位数是5进制的,千位数是7进制的……虽然小冷很聪明,但是这个计数的方法也太古怪了,所以他决定把他在火星上看到的数字都转换为地球上的10进制数字。请你编写程序帮他完成这件事。
提示:
火星1,1,1,0 = 1*5*3*2 + 1*3*2 + 1*2=30+6+2+0=38
聪明的你应该知道火星数字和十进制数之间的转换关系了吧~
Input
测试输入包含若干测试用例,每个测试用例占一行,包含一个火星正整数,每行的数字不超过25个,火星整数的相邻两位数用逗号分隔。输入以0结束,你不需要处理为0的那一行。
Output
对每个测试用例输出1行,即转换后的10进制数。
Sample Input
1,0 1,1,1,0 0 Sample Output
2 38 Hint
1,前25个素数分别是 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
2,输入中可能含有0,0,1这样的实例。 |