#include <bits/stdc++.h>
using namespace std;
signed main()
{
string n,p2,p3;
cin>>n>>p2>>p3;
while(n.size()>p2.size()) p2='0'+p2;
while(n.size()>p3.size()) p3='0'+p3;//补零使p3变为00415,目的是让其大小与n的大小一致
int ne=0;
string sum;//记录答案
for(int i=n.size()-1;i>=0;--i)
{
int t3,t2,t1;
if((n[i]-'0')==0) t1=10;
else t1=n[i]-'0';
t2=p2[i]-'0';//字符转化为数字的操作
t3=p3[i]-'0';
int tt=t2+t3+ne;
sum+=to_string(tt%t1);//to_string作用是转化为字符串,并且记录当前位置的答案
ne=tt/t1;//记录此位进几位的值
}
if(ne)sum+=to_string(ne);//最高位相加后剩余的进位
while(sum.size()>1&&sum.back()=='0')sum.pop_back();//删除前导零
cout << string(sum.rbegin(), sum.rend());
}
pta1074 宇宙无敌加法器(简易代码写法)
最新推荐文章于 2024-03-25 20:01:34 发布