一、例题
二、转换方式
有一个n进制数
这里主要方法是:1、逐个位数取出来,
2、求n进制的(当前逆序的下标)次方
3、1和2相乘得到一位,每位相加
1、 取位数:就是将一个数的个位、十位、百位.....取出来
用到的是%和/,例如2023要取0,可以先去掉后两位数:2023/100。再取最后一位数:2023/100%10。这样就得到0了。
2、例如十进制的2013,执行完第一步后就是得到2、0、1、3.
逆序下标:3的逆序下标是0;1的逆序下标是1;0的逆序下标是2.....
求每个数字的逆序下标作为10的次方,例如3这个数字就要得到10^0(10的0次方)
3、把每个1操作得到的位数和2求得的次方结果相乘为一位,每位互相相加
例如五进制的2513转换成十进制就是:2 *5^3 + 5 *5^2 + 1 *5^1 + 3 *5^0
代码实现
#include <iostream>
using namespace std;
int main()
{
// 请在此输入您的代码
int s;
s=2022%10+2022/10%10*9+2022/1000*(9*9*9);
printf("%d",s);
return 0;
}