PAT乙1022 D进制的A+B
题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805299301433344
输入两个非负10进制整数A和B(<=230−1230−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 }