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

时间:2020-02-01 00:55:50   收藏:0   阅读:71

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

https://pintia.cn/problem-sets/994805260223102976/problems/994805299301433344

解题思路:本题说了a和b值均小于等于2的30次方减一,(2^30-1==1 073 741 823),而整型int占四字节,三十二比特,范围为[-2^31~2^31-1];本题还要考虑若a和b值均为0,则直接输出0.

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
using namespace std;
int main()
{
	int a,b,d,s[100];
	cin>>a>>b>>d;
	int t=a+b,i=0;
	if(t==0) cout<<0;  //没有这句,测试点3答案错误 
	else{
	while(t!=0)
	{
		s[i++]=t%d;
		t/=d;
	}
	for(int j=i-1;j>=0;j--) cout<<s[j];
    }
	return 0;
}
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!