高精度加法
2025-05-25 10:55:27
发布于:上海
2阅读
0回复
0点赞
也是非常简单
#include<bits/stdc++.h>
using namespace std;
int a[10100],b[10100],c[10100];
int main(){
string s1 , s2;
cin>>s1>>s2;//用字符串存储较大的数据
	int len = max(s1.size(),s2.size())-1;//定位数
	for(int i=0;i<s1.size();i++) a[i]=s1[s1.size()-i-1]-'0';//将s1字符串每一位倒着存入到a数组
	for(int i=0;i<s2.size();i++) b[i]=s2[s2.size()-i-1]-'0';//将s2字符串每一位倒着存入到a数组 
	
	for(int i=0;i<=len;i++){
		c[i]+=a[i]+b[i];
		c[i+1]+=c[i]/10;//若有进位把1加到c[i+1]
		c[i]%=10;//在对留在c[i]的数处理
	}
	
	if(c[len+1]) len++;
	
	for(int i=len;i>=0;i--) cout<<c[i];	
return 0;
}
这里空空如也

有帮助,赞一个