一般而言,一个十进制数abcd可以这样表示abcd= a ∗ 1 0 3 a*10^3 a∗103+ b ∗ 1 0 2 b*10^2 b∗102+ c ∗ 1 0 1 c*10^1 c∗101+ d ∗ 1 0 0 d*10^0 d∗100. 1.其他进制转换成十进制: 如果一个P进制的数x= d 1 d_1 d1 d 2 d_2 d2… d n d_n dn,将其转换成10进制, y= d 1 d_1 d1* p n − 1 p^{n-1} pn−1+ d 2 d_2 d2 p n − 2 p^{n-2} pn−2+…+ d n d_n dn; **思路:**将最后一项取出来乘以product(product在不断更新1->p-> p 2 p^2 p2->…-> p n − 1 p^{n-1} pn−1)
2.十进制转换成其他进制: 用的是除基取余法. 11除以2,得商为5,余数为1; 5除以2,得商为2,余数为1; 2除以2,得商为1,余数为0; 1除以2,得商为0,余数为1;算法结束
int a[40], num=0; do{ z[num++1] = y%Q; y = y/Q; }while(y!=0);题目描述:
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:
123 456 8输出样例:
1103