C++高精度算法之高精度加法

来源:互联网 发布:长沙军鸽软件怎么样 编辑:程序博客网 时间:2024/06/07 23:36



高精度加法


题目描述:

高精度加法

输入:

两个自然数a,b

输出:

结果

样例输入:

1                                                                                                           

1                                                                                                           

样例输出:

2                                                                                                           

说明:

20%数据a,b在long long范围内

100%数据0<a,b<=10的10000次方

实现代码:

代码如下:

#include<iostream>#include<algorithm>using namespace std;main(){string a,b;int xa[500]={},xb[500]={},tot[500]={};cin>>a>>b;for(int i=0;i<a.length();i++)xa[i]=a[a.length()-i-1]-'0';for(int i=0;i<b.length();i++)xb[i]=b[b.length()-i-1]-'0';int len=max(a.length(),b.length());for(int i=0;i<len;i++)tot[i]=xa[i]+xb[i];for(int i=0;i<len;i++){tot[i+1]+=tot[i]/10;tot[i]%=10;}if(tot[len]) cout<<tot[len];for(int i=len-1;i>=0;i--)cout<<tot[i];cout<<endl;}