题解 | 又一版 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转十

全部评论

相关推荐

牛客小菜鸡66:boss里面,招人的叫老板,找工作的叫牛人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务