其他分享
首页 > 其他分享> > 1022 D进制的A+B (20 分)

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

作者:互联网

输入两个非负 10 进制整数 A 和 B (≤2​30​​ −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