您的位置:首页 > 其它

1022. D进制的A+B (20)--PAT乙级

2017-09-17 20:07 274 查看


1022. D进制的A+B (20)

时间限制

100 ms

内存限制

65536 kB

代码长度限制

8000 B

判题程序

Standard

作者

CHEN, Yue

输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。

输入格式:

输入在一行中依次给出3个整数A、B和D。

输出格式:

输出A+B的D进制数。
输入样例:
123 456 8

输出样例:
1103

分析:进制转化问题。具体实现见代码。

注意:A,B为0的特殊情况要加以考虑。

代码:

#include<cstdio>
#include<vector>
#include<iostream>
#include<algorithm>
using namespace std;
int A,B,D;
vector<int>v;//存储A+B的D进制的各个位数
int main()
{
scanf("%d%d%d", &A, &B, &D);//两个数A,B A+B按D进制输出
int sum = A + B;
while(sum)
{
v.push_back(sum % D);
sum = sum / D;
}
for(int i = v.size() - 1; i >=0 ; i--)
printf("%d", v[i]);
if(v.size() == 0) printf("0");//A B 均为0的情况
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: