这道题最难的就是找出它的规律;
我们找出的规律是:
1:将N转化为2进制S;
2:再将S转化为k进制数;
3:最后将它们加起来;
放到程序中为:
1:用一个while循环,条件为N > 0;
2:在循环中取末尾乘上k,并将它加进ans;
3:将N乘除2;(等于消除末尾)
#include<iostream>
using namespace std;int main()
{
int k,N,sum,ans;
cin >> k >> N;
sum = 1;
ans = 0;
while (N > 0)
{
ans = ans + N % 2 * sum;
sum = sum * k;
N = N / 2;
}
cout << ans;
cin >> k;
return 0;
}