题目大意:
有一种很奇怪的计数法,它的数里面没有4,现在用这种计数法给定一个数字,把它换算成通用的十进制。
解法:这个计数法就是一种变相的9进制计数法,把超过4的数字通通-1,那么这个就变成了标准9进制,然后转换成10进制即可。
//By:一只大幽灵
//Time:2012/4/11
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char n[20];
int len = 0, s, k;
while (cin >> n) {
if (n[0] == '0')break;
len = strlen(n);
for (int i = 0; i < len; i++) {
cout << n[i];
}
cout << ": ";
for (int i = 0; i < len; i++) {
if (n[i] >= '4')n[i]--;
}
s = 0;
k = 1;
for (int i = len - 1; i >= 0; i--) {
s += (n[i] - '0') * k;
k *= 9;
}
cout << s << endl;
}
return 0;
}