PAT 1022 D进制的A+B
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:
123 456 8
输出样例:
1103
代码实现:
#include <iostream>
#include <cstring>
#include <map>
#include <vector>
using namespace std;
int main()
{
int A = 0, B = 0, hex = 0;
int sum = 0, tmp = 0, i = 0;
vector<int> vec;
/* 输入数据,并求和 */
cin >> A >> B >> hex;
sum = A + B;
/* 进制转. 换 */
while(sum >= hex)
{
tmp = sum % hex;
vec.push_back(tmp);
sum = sum / hex;
}
vec.push_back(sum);
/* 输出 */
for(i = vec.size()-1; i >= 0; i--)
{
cout << vec[i];
}
cout << endl;
return 0;
}
还没有评论,来说两句吧...