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

Posted jianqiao123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PTA乙级 (1022 D进制的A+B (20分))相关的知识,希望对你有一定的参考价值。

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;
}

以上是关于PTA乙级 (1022 D进制的A+B (20分))的主要内容,如果未能解决你的问题,请参考以下文章

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

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

pat 乙级1022

[PAT乙级]1022 D进制的A+B

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

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