rt......
Link
同一份代码,本地调试都没问题。。。
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll k,n,num=0,ans=0,m=1;bool a[1000010];
int main()
{
scanf("%lld%lld",&k,&n);
while(m<n) m*=2,num++;
m/=2;
for(ll i=num-1,j=0;i>=0;i--,j++,m/=2)
{
if(m<=n)
{
a[j]=true;
n-=m;
}
else a[j]=false;
}
for(ll i=num-1,j=1;i>=0;i--,j*=k)
{
if(a[i]==true) ans+=j;
}
printf("%lld",ans);
return 0;
}