上题目:
我们定义翻转为:将一个数k进制表示,再将其翻转,去掉前导零后读数
举个例子,44二进制下101100,翻转后为001101,去掉前导零为1101,即13
给定一个数字n,求其翻转后的数字。
可以选择直接模拟,即:定义一个ans=0,每次让ans在k进制下左移一个单位,然后将n的最后一位附到ans的最后一位,然后去掉y的最后一位,即让它右移k进制下的一个单位即可。
代码实现:
cin>>y;
long long ans=0;
while(y){
ans*=k;
ans+=y%k;
y/=k;
}
cout<<ans<<endl;