题目:A+B Problem(高精)
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
int read(){
int x = 0,f = 1;
char c = getchar();
while (c<'0'||c>'9') {
if (c=='-') {
f = -1;
}
c = getchar();
}
while (c>='0'&&c<='9') {
x = x*10+c-'0';
c = getchar();
}
return x*f;
}
int c[505];//一张地图,有雷为一,无雷为零
int main()
{
string a,b;
cin>>a;
cin>>b;
reverse(a.begin(),a.end());
reverse(b.begin(),b.end());
//cout<<a<<"/"<<b<<endl;
long n = max(a.length(), b.length())-1;
for (int i = 0; i<max(a.length(),b.length()); i++) {
int ans = 0;
if (i>=b.length()) {
ans = (a[i]-'0');
}else if(i>=a.length()){
ans = (b[i]-'0');
}else{
ans = (a[i]-'0') + (b[i]-'0');
}
ans += c[i];
if (ans>=10) {
c[i] = ans-10;
c[i+1] += 1;
if(i==n){
n++;
}
} else {
c[i] = ans;
}
}
for (long i = n; i>=0; i--) {
cout<<c[i];
}
return 0;//愉快的结束了主程序
}
/*
1000000000000000000000
199
46546876443156448001
46453168410002134684
93000044853158582685
*/
网友评论