题目描述
给出一个十进制自然数N, 请求出N(0<=n<=10^9)的M(2<=M<=16)进制位逆转后是多少,将答案转化为十进制输出。
输入
多组实例,每组实例输入两个数字N和M。
输出
输出转换后的数字。
样例输入 Copy
10 10
10 2
224 16
样例输出 Copy
1
5
14
提示
第1组数据: 10在10进制下为10, 逆转后为01, 对应10进制为1。
第2组数据: 10在2进制下为1010, 逆转后为0101, 对应10进制为5。
第3组数据: 224在16进制下为E0, 逆转后为0E, 对应10进制为14。
#include<iostream>
using namespace std;
int main(){
int n,m,y=0,p=1;
cin>>n>>m;
int sum=0;
do{
sum=sum*10+n%m;
n/=m;
}while(n!=0);
while(sum!=0){
y+=(sum%10)*p; // *p+sum%10;
sum/=10;
p=p*m;
}
cout<<sum<<" "<<y;
return 0;
}