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;
}

  

posted on 2011-07-13 16:18  sysu_mjc  阅读(211)  评论(0编辑  收藏  举报

导航