/* 1240. Faulty Odometer(十进制少4的数,即9进制)
题目大意:给出一个数字,遇到4就加1,给出一个经过这样处理后的数,
转换成10进制实际对应的数。
思路:逢4进位,也就是说只有9个数字,即9进制。那么在处理转换时,
若发现当前为大于4就要-1,然后乘以相对应的幂值即可。
*/
#include<iostream>
#include<stdlib.h>
#include<string>
using namespace std;
int main()
{
string n;
while(cin >> n && n !="0"){
int length = n.length() -1;
long long sum = 0;
int index = 0;
while(index <= length)
{
long long a = n[index] - '0';
if(a > 4)
a--;
for(int i=1; i<=length - index; i++){
a *= 9;
}
sum += a;
index++;
}
cout << n << ": " << sum << endl;
}
system("pause");
return 0;
}
1240. Faulty Odometer(十进制少4的数,即9进制)
最新推荐文章于 2021-05-17 17:15:16 发布