题目描述
求A+B的值,A和B可能非常大!
输入
输入两个数,分别是A和B
输出
只有一行,表示他们的和
样例输入
10000000000000000000000000000000000000001
10000000000000000000000000000000000000001
样例输出
20000000000000000000000000000000000000002
这题就不讲思路了,很简单,只要不忘掉进位,就三个字(很简单)
上代码:
#include <bits/stdc++.h>//万能头
using namespace std;
int main(){
string a,b;//字符串更方便
cin>>a>>b;
reverse(a.begin(),a.end());//反转字符串a
reverse(b.begin(),b.end());//反转字符串b
int ans[10000+5];
int jw=0;//代表进位
int n=max(a.length(),b.length());//
for(int i=0;i<n;i++){
//TODO
if(a[i]=='\0'){
//TODO
a[i]='0';
}
if(b[i]=='\0'){
b[i]='0';
}
ans[i]=jw+(a[i]-'0')+(b[i]-'0');
jw=ans[i]/10;//计算进位
ans[i]%=10;
}
if(jw){
//TODO
ans[n]=1;
n++;
}
else{
//TODO
n--;
}
for(int i=n;i>=0;i--){
//TODO
cout<<ans[i];
}
return 0;//完美结束
}
有哪位位大佬有更简便的方法,欢迎私信!