1022 D进制的A+B (20 分)
作者:互联网
输入两个非负 10 进制整数 A 和 B (≤230 −1),输出 A+B 的 D (1<D≤10)进制数。
输入格式:
输入在一行中依次给出 3 个整数 A、B 和 D。
输出格式:
输出 A+B 的 D 进制数。
输入样例:
123 456 8
输出样例:
1103
有一种特殊情况需要注意,那就是a和b都为零的情况,while循环是不执行的,需要单独添加语句,还有一种办法就是用do while循环,这样一定会执行一次;
#include <iostream>
#include <string>
#include<algorithm>
#include<bits/stdc++.h>
#include<stack>
#include<set>
#include <vector>
#include <map>
#include<queue>
#include<deque>
using namespace std;
int main() {
int a,b;
int d;
cin>>a>>b>>d;
long long int c=a+b;
stack<int>st;
if(!c){
cout<<"0";
return 0;
}
while(c){
st.push(c%d);
c/=d;
}
while(!st.empty()){
cout<<st.top();
st.pop();
}
return 0;
}
标签:输出,20,进制,1022,int,while,include,输入 来源: https://blog.csdn.net/weixin_45962741/article/details/113759391