PAT乙1022 D进制的A+B

题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805299301433344

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

输入格式:

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

输出格式:

输出A+B的D进制数。

输入样例:

123 456 8

输出样例:

1103

分析:

求和借助栈输出进制转换结果即可

 

 1 #include <stdio.h>
 2 #include <stack>
 3 using namespace std;
 4 
 5 stack<int> s;
 6 
 7 
 8 int main(){
 9     int a,b,c;
10     scanf("%d%d%d", &a, &b, &c);
11     int sum = a +b;
12     do{
13         s.push(sum%c);
14         sum/=c;
15     }while(sum);
16     while(s.size()!=0){
17         printf("%d", s.top());
18         s.pop();
19     }
20     return 0;
21 }

 

 

 



posted @ 2020-04-25 16:53  sqdtss  阅读(136)  评论(0编辑  收藏  举报