#include <iostream>
#include <string>
using namespace std;
int main()
{
int A, B, D, sum = 0, i = 0;
cin >> A >> B >> D; // 输入A,B两个非负整数 D是要转换的进制
int a[100]; // A+B 都是十进制 如果转换成低进制 用int类型的变量很可能溢出 所以用数组存储更好
int num = A + B; // num是A+B的和
if (num == 0) // 因为使用的while循环 所以得讨论num为0的情况
{
cout << 0;
}
while (num)
{
int b = num % D; // 用b记下余数
num = (num - b) / D; //(原数减去余数)/进制 相当于把一个n位数变成n-1位数
a[i] = b; // 将余数用数组存储
i++;
}
for (int j = i; j > 0; j--)
{
cout << a[j - 1]; // 倒序输出数组
}
cout << endl;
system("pause");
return 0;
}
PTA 乙级 B1022 D进制的A+B C++
最新推荐文章于 2024-09-01 21:55:24 发布