讨论 / 到哪看题解阿
wnzxpsz 2015-03-04 23:29:39
点我顶贴 收藏 删除
到哪看题解啊

#1 sylaer@2015-06-23 02:49:15
回复 删除

#include <iostream>

#include <vector>

#include <cmath>

using namespace std;

int main()

{

unsigned int k,N;

vector<unsigned int> v;

v.resize(11);

for (unsigned int i=0;i<11;i++)

{

v[i] = ::pow(2,i);

}

while (cin>>k>>N)

{

unsigned int sum = N;

vector<unsigned int> ans;

while(sum>0)

{

for (unsigned int i=10;i>0;i--)

{

if(v[i]>sum && v[i-1]<=sum){

sum -= v[i-1];

ans.push_back(i);

}

}

}

unsigned int rst = 0;

for (unsigned int i=0 ; i < ans.size();i++)

{

rst+=::pow(k,ans[i]-1);

}

cout<<rst<<endl;

}

return 0;

}

#2 桑♥@2015-06-23 03:42:40
回复 删除
不知道

查看更多回复
提交回复