1022 D进制的A+B

mac2026-05-26  5

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

输入格式:

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

输出格式:

输出 A+B 的 D 进制数。

输入样例:

123 456 8

输出样例:

1103

总结:

不同进制的转换,不断的求余,然后倒序输出。在本题中需要注意当 和 为 0 的时候,需要输出 0。

代码:

#include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { unsigned long a, b, temp; int d; cin >> a >> b >> d; temp = a + b; if(temp==0) { printf("0\n"); return 0; } vector<int> v; while(temp) { v.push_back(temp%d); temp /= d; } for(int i=v.size()-1;i>=0;i--) { printf("%d",v[i]); } printf("\n"); return 0; }

 

最新回复(0)