题目描述
编写一个程序,首先将一个十进制正整数逆序【需要去掉前导0】,然后转换成五进制正整数,最后输出该五进制正整数。
输入
每组测试数据的输入占一行,输入一个十进制正整数n。 (n<=100000)
输出
每组测试数据的输出占一行,输出转换后所得的五进制正整数。
样例输入 Copy
1000
样例输出 Copy
1
#include <iostream>
#define ll long long
using namespace std;
int fun(int n)
{
//倒序
int sum = 0;
while (n)
{
sum *= 10;
sum += n % 10;
n /= 10;
}
return sum;
}
int f(int n) {
//转换成五进制
int sum = 0, x = 1;
while (n) {
sum += n % 5 * x;
n /= 5;
x *= 10;
}
return sum;
}
int main() {
int n;
while (~scanf("%d", &n)) {
while (n % 10 == 0)n /= 10;//去除前导0
n = fun(n);
cout << f(n) << endl;
}
return 0;
}