F1:C++ 高精度
小学二年级学的竖式计算总还记得吧。
#include<bits/stdc++.h>
using namespace std;
const int maxn=650;
char sa[maxn],sb[maxn];
int a[maxn],b[maxn],c[maxn];
int main(){
scanf("%s",sa);
scanf("%s",sb);
memset(c,0,sizeof(c));
int la=strlen(sa);
int lb=strlen(sb);
//倒序存储数字
for(int i=0;i<la;i++)a[la-i-1]=sa[i]-'0';
for(int i=0;i<lb;i++)b[lb-i-1]=sb[i]-'0';
int lc=la>lb?la:lb;
//开始运算
for(int i=0;i<lc;i++){
c[i]+=a[i]+b[i];
if(c[i]>=10){
c[i+1]=c[i]/10;
c[i]=c[i]%10;
}
}
//检查进位
if(c[lc]>0)lc++;
int cnt=lc-1;
while(c[cnt]==0)cnt--;
//倒序输出
for(int i=cnt;i>=0;i--)printf("%d",c[i]);
return 0;
}
F2:Python
由于 Python 自带高精度,所以本体可以直接用 A+B Problem 的 Python 代码。
a=int(input())
b=int(input())
print(int(a+b))
暂无评论