高精度
1 高精度加法 LGP1601
啥也不说,直接上代码
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;
char ans1[505],ans2[505];
int num1[505],num2[505],numans[510];
int len1,len2,lent;
int main(){
scanf("%s\n%s",ans1+1,ans2+1);
len1=strlen(ans1+1);
len2=strlen(ans2+1);
for(int i=1,j=len1;i<=len1;i++,j--){
num1[i]=ans1[j]-'0';
}
for(int i=1,j=len2;i<=len2;i++,j--){
num2[i]=ans2[j]-'0';
}
lent=max(len1,len2)+1;
for(int i=1;i<=lent;i++){
numans[i]=num1[i]+num2[i];
}
for(int i=1;i<=lent;i++){
if(numans[i]>=10){
numans[i+1]+=(numans[i]/10);
numans[i]%=10;
}
}
while(numans[lent]==0&&lent>1) lent--;
for(int i=lent;i>=1;i--){
printf("%d",numans[i]);
}
return 0;
}