sicily 1344. 数列
#include<iostream> //只要把n转化成二进制数,在各位置上乘以对应的系数就好了.比如k=3,n=6=110,则 s=1*(3^2)+1*(3^1)+0*(3^0)=12,这好理解,就是把n的二进制看作是 k 进制的
#include<cmath>
using namespace std;
int main()
{
int k,n,arr[100];
while(cin>>k>>n)
{
int r=0,s=0;
while(n>0) //n转化成二进制
{
arr[r++]=n%2;
n/=2;
}
for(int i=0;i<r;++i)
s+=pow(double(k),double(i))*arr[i];
cout<<s<<endl;
}
return 0;
}
#include<cmath>
using namespace std;
int main()
{
int k,n,arr[100];
while(cin>>k>>n)
{
int r=0,s=0;
while(n>0) //n转化成二进制
{
arr[r++]=n%2;
n/=2;
}
for(int i=0;i<r;++i)
s+=pow(double(k),double(i))*arr[i];
cout<<s<<endl;
}
return 0;
}