编程题目: PAT 1022. D进制的A+B (20)

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

时间限制
100 ms
内存限制
32000 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue

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

输入格式:

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

输出格式:

输出A+B的D进制数。

输入样例:
123 456 8
输出样例:
1103
        本题也并不复杂,有几个注意的点。首先对于和为0的考虑,其余主要的在于进制的转化,我这里用vector存储以及输出,用stack也是可以的。参考代码如下.

/*
http://pat.zju.edu.cn/contests/pat-b-practise/1022
*/
#include<iostream>
#include<vector>
using namespace std;
int main()
{
	int  num1,num2;
	vector<int> v;
	int n;
	cin>>num1>>num2>>n;
	int sum = num1+num2;

	if(sum==0)
	{
		cout<<0;
		return;
	}
	while(sum!=0)
	{
		int temp=sum%n;
		v.push_back(temp);
		sum/=n;
	}
	for(int i = v.size()-1;i>=0;i--)
	{
		cout<<v[i];
	}
	system("pause");
	return 0;
}





posted @ 2014-07-04 15:39  F8Master  阅读(242)  评论(0编辑  收藏  举报