学校的题目,测试点过了但爆零
查看原帖
学校的题目,测试点过了但爆零
942924
ZhangShuyuan_benren楼主2024/1/14 21:59

题目:【小学生算数(carry)】(进网站好像要注册号) 代码:

#include<bits/stdc++.h>
using namespace std;
const long long N=1e6+5;
char x[N],y[N];
int lena,lenb,lenc,an[N],bn[N],cn[N],i=1,z=0,sum[100001];
int main()
{
	while(1){
		cin>>x>>y;
		lena=strlen(x);
		lenb=strlen(y);
		for(int i=1;i<=lena;i++)
			an[i]=x[lena-i]-'0';
		for(int i=1;i<=lenb;i++)
			bn[i]=y[lenb-i]-'0';
		if(an[lena]==0&&bn[lenb]==0)
			break;
		/*for(int i=1;i<=lena;i++)
			cout<<an[lena];*/
		lenc=1;
		while(lena>=lenc||lenb>=lenc)
		{
			cn[lenc]=an[lenc]+bn[lenc]+z;
			if(cn[lenc]>=10)
				sum[i]++;
			z=cn[lenc]/10;
			cn[lenc]%=10;
			lenc++;
		}
		i++;
	}
	for(int j=1;j<i;j++)
		cout<<sum[j]<<endl;
}
2024/1/14 21:59
加载中...