题目描述
输入两个整数,求这两个整数的和是多少。
输入格式
输入两个整数A,B,用空格隔开,0≤A,B≤108
输出格式
输出一个整数,表示这两个数的和
样例
输入格式:
3 4
输出格式:
7
解
高精度加法
C++ 代码
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int a[1010],b[1010],c[1010];
int main()
{
string sa,sb;
cin>>sa>>sb;
int la=sa.size(),lb=sb.size();
for(int i=la-1;i>=0;i--)
{
a[la-1-i]=sa[i]-'0';
}
for(int i=lb-1;i>=0;i--)
{
b[lb-1-i]=sb[i]-'0';
}
int r=0;
int lmax=max(la,lb)+1;
for(int i=0;i<lmax;i++)
{
// r=0; 不能放在这里,不然每层循环r都为0,进位就不能加上了
c[i]=(a[i]+b[i]+r)%10;
r=(a[i]+b[i]+r)/10;
}
while(c[lmax]==0)
lmax--;
while(lmax>=0)
{
cout<<c[lmax--];
}
return 0;
}