为什么高精度加法不能通过这题?
  • 板块P1001 A+B Problem
  • 楼主mrbhsj
  • 当前回复13
  • 已保存回复13
  • 发布时间2024/7/27 16:26
  • 上次更新2024/7/27 17:27:35
查看原帖
为什么高精度加法不能通过这题?
764059
mrbhsj楼主2024/7/27 16:26
#include<iostream>
#include<cstring>
using namespace std;
string add(string a,string b){
	string s;
	int la,lb,lc;
	int a1[1000]={},b1[1000]={},c[1000]={};
	la=a.length();
	lb=b.length();
	for(int i=0;i<la;i++){
		a1[i]=a[la-1-i]-'0';
	}
	for(int i=0;i<lb;i++){
		b1[i]=b[lb-1-i]-'0';
	}
	
	lc=max(la,lb);
	
	for(int i=0;i<lc;i++){
		c[i]=c[i]+a1[i]+b1[i];
		if(c[i]>=10){
			c[i+1]=c[i+1]+c[i]/10;
			c[i]=c[i]%10;
		}
	}
	
	if(c[lc]!=0) lc++;
	
	for(int i=lc-1;i>=0;i--){
		s=s+char(c[i]+48);
	}
	return s;
}
int main(){

	string a,b,c;
	cin>>a>>b;
	c=add(a,b);
	cout<<c;
	return 0;
}
2024/7/27 16:26
加载中...