您的位置:首页 > 其它

zoj1334

2015-07-26 20:31 483 查看
这道题挺有趣的。

#include <iostream>
#include <string>
using namespace std;

int main()
{
string nums;
while(cin >> nums)
{
int num = 0,change,sum = 0;
num = nums.size();
cin >> change;
for(int m = 0;m<num;m++)
{
int ten = 1;
for(int u = m;u<num-1;u++)
ten *= change;
if(nums[m] < 58)//10的Ascii
sum += ten*(nums[m]-48);
else sum += ten*(nums[m]-55);
}
cin >> change;
for(int m = 6;m>=0;m--)
{
if(sum != 0)
if(sum % change < 10)
nums[m] = sum % change + 48;
else nums[m] = sum % change + 55;
else nums[m] = ' ';
sum /= change;
}
if(sum != 0)
cout << " ERROR";
else
for(int m = 0;m<=6;m++)
cout << nums[m];
cout << endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: