侧边栏壁纸
  • 累计撰写 192 篇文章
  • 累计创建 2 个标签
  • 累计收到 87 条评论

【题解】高精度加法代码

Allen Best
2023-05-27 / 0 评论 / 0 点赞 / 22 阅读 / 533 字
温馨提示:
本文最后更新于 2023-05-27,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
#include<bits/stdc++.h>
using namespace std;
/*高精度加法a+b 
1)使用两个字符串,输入 a和b
2)将字符串a和b,倒序存入两个整型数组x和y中
3)按照从低到高的顺序,按位相加,处理进位问题
4)结果倒序输出 
*/
string a,b;
int x[205],y[205],z[205]; 
int main(){
	int lena,lenb,lenc,tmp=0;
	//1) 
	cin>>a>>b;
	lena=a.size();
	lenb=b.size();
	//2)
	for(int i=0;i<lena;i++){
		x[i]=a[lena-1-i]-'0';
	}
	for(int i=0;i<lenb;i++){
		y[i]=b[lenb-1-i]-'0';
	}
	//3)
	lenc=max(lena,lenb);
	for(int i=0;i<lenc;i++){
		z[i]=x[i]+y[i]+tmp;
		tmp=z[i]/10;
		z[i]%=10;
	}
		z[lenc]=tmp;
	if(z[lenc]==0) lenc--;
	//4)
	for(int i=lenc;i>=0;i--){
		cout<<z[i];
	}
	return 0;
}

0

评论区