高精加法求助
查看原帖
高精加法求助
753246
WSx_3楼主2024/1/25 21:28

为什么我算的结果就是不对!!!

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int a[10001], b[10001], c[10001];
string add(string a1, string b1)
{
	int la=s1.length(), lb=s2.length(), lc=1, x=0;
	for(int i=1; i<=la; i++) a[la-i]=a1[i]-48;
	for(int i=1; i<=lb; i++) b[lb-i]=b1[i]-48;
	while(lc<=la||lc<=lb)
	{
		c[lc]=a[lc]+b[lc]+x, x=c[lc]/10;
		c[lc]%=10;
		lc++;
	}
	c[lc]=x;
	if(c[lc]==0) lc--;
	string ans="";
	for(int i=lc; i>0; i--) ans+=c[i]+48;
	return ans;
}
int main()
{
	cin>>s1>>s2;
	cout<<add(s1,s2);
 return 0;
}

2024/1/25 21:28
加载中...