pat乙级1022

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

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

输入格式:

输入在一行中依次给出 3 个整数 AB 和 D

输出格式:

输出 A+B 的 D 进制数。

输入样例:

123 456 8
	

输出样例:

1103
简单的数制转化,注意有个小陷阱
小二,上代码!
#include<iostream>
#include<string>
using namespace std;
int main()
{
	int a, b, d, arr[32] = {0};
	while (cin >> a >> b >> d)
	{
		int c = a + b;
		if (c == 0)//如果和为0,直接输出,这里就是小陷阱
		{
			cout << 0 << endl;
			continue;
		}
			
		int sizea = 0;
		while (c )
		{
			arr[sizea++] = c % d;
			c /= d;
		}
		for (int i = sizea - 1; i >= 0; i--)
			cout << arr[i];
		cout << endl;
	}
	return 0;
}


代码学习笔记 文章被收录于专栏

学习笔记,pat,牛客

全部评论

相关推荐

头像
05-12 09:14
点赞 评论 收藏
转发
点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务