[Login|Register]
Problems

Status

Rank

Problem 1374
火星了
Time Limit: 1000ms
Memory Limit: 65536kb
Description
如果你去过火星就会发现,火星上的东西与地球上大不相同,比如说整数不是单一进制的,第n位的进制就是第n个素数。例如:地球上的10进制数2,在火星上记为“1,0”,因为火星个位数是2进制的;地球上的10进制数23,在火星上记为“3,2,1”,因为火星个位数是2进制的,十位数是3进制的,百位数是5进制的,千位数是7进制的……光说一遍都觉得好麻烦,现在交给你一个任务,把火星上的数字转化为地球上的十进制。
提示:
3,2,1 = 3*3*2 + 2*2 + 1 = 23
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,0,1
3,2,1
0
Sample Output
2
38
1
23
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,建议采用如下方式读取数据。
    /*author: sagitrs*/
    int i=0;char c=',';
    while (c==',') scanf("%d%c",&a[++i],&c);

				
University of Science and Technology of China
Online Judge for ACM/ICPC
Processed in 1.7ms with 1 query(s).