题解 | 又一版 A+B 考查的依旧是1到10进制转化
又一版 A+B
https://www.nowcoder.com/practice/9255c05d45b8406c9b588d7c57aa920b
//注1:unsigned int 用%u占位符接收
//注2:两个unsigned int 相加结果可能溢出,用long long 保存结果
#include <cstdio>
#include <vector>
#include <iostream>
using namespace std;
vector<int> vec;
void convert(long long sum, int m) {
if (sum == 0) {
printf("0");
}
else {
while (sum > 0) {
vec.push_back(sum % m);
sum /= m;
}
for (int i = vec.size() - 1; i >= 0; i--) {
printf("%d", vec[i]);
}
}
vec.clear();
}
int main() {
unsigned int m, a, b;
while (scanf("%d%d%d",&m,&a,&b)!=EOF)
{
if (m == 0) {
return 0;
}
convert(a + b, m);
printf("\n");
}
return 0;
}
进制转换问题 文章被收录于专栏
包括任意进制的转换(m转n,先m转10,再10转n) 和大整型的进制转换(0.利用字符串存储大整型 1.实现字符串除法以完成10转n 2.实现字符串加法和字符串乘法以完成m转十
查看3道真题和解析