传送门
这道题其实就是模板题,套高精度模板就好了
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a1[1000],b1[1000];//因为输的数大,所以用char
int a[1000],b[1000],c[1000]={0};//输入后转换
cin >> a1 >> b1;
int s1=strlen(a1);
int s2=strlen(b1);
int s3;
//转换开始
for(int i=0;i<s1;i++)
{
a[s1-i]=a1[i]-'0';
}
for(int i=0;i<s2;i++)
{
b[s2-i]=b1[i]-'0';
}
//开始计算
s3=1;
int x=0;
while(s3<=s1 || s3<=s2)
{
c[s3]=a[s3]+b[s3]+x+c[s3];
x=c[s3]/10;
c[s3]=c[s3]%10;
s3++;
}
c[s3]=x;//有可能有进位
if(c[s3]==0)
{
s3--;//退位
}
for(int i=s3;i>=1;i--)
{
cout << c[i];//因为前面倒着载入,所以倒着输出
}
return 0;
}