主题说明
整数的各位相加,NowCoder将其称为“位数和”。 例如,正整数123456的位的和是1 2 3 4 5 6=21。 其中,请计算整数n在r进制中的位数和,并以对应的进制输出结果。
输入说明:
正在输入多个组的数据。
每组数据包括两个正整数n(1n2147483647 )和r(2n16 )。
输出说明:
对应各组的数据,输出将十进制正整数n转换为r进制数后的位之和,并以r进制数输出结果。
输入示例:
123456 10
123456 2
输出示例:
21
110
# include iostream # include string # include vector # includelistusingnamespacestd; voidreverse(intsum,int r ) ) intYu=sum/r; If (于!=0)反转(Yu,r ); int temp=sum % r; if(temp=10 ) printf )、temp - 10 'A ); }else{printf('%c ',temp '0' ); }}int main () { int n,r; int sum; wile (扫描(' % d ',n )!=EOF () Scanf('%d ',r ); sum=0; wile(n ) { sum =n % r; n /=r; }反转(sum,r ); cout endl; }