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; }
原文地址:https://www.cnblogs.com/jianqiao123/p/12247323.html
时间: 2024-11-07 20:32:22