求大神指点~
查看原帖
求大神指点~
470590
LikAzusa_楼主2021/12/2 14:04

样例过了,WA了

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<string>
using namespace std;
const int M=1e5+10;
char A[M],B[M];
int a[M],b[M];
int lenA,lenB;
long long ans;
int main()
{
	while(true)
	{
		ans=0;
		scanf("%s%s",A+1,B+1);
		if(A[1]=='0' && B[1]=='0') break;
		lenA=strlen(A+1);
		lenB=strlen(B+1);
		for(int i=1;i<=lenA;i++)
		{
			a[i]=A[lenA-i+1]-'0';
		}
		for(int i=1;i<=lenB;i++)
		{
			b[i]=B[lenB-i+1]-'0';
		}
		int lenC;
		if(lenA>lenB) lenC=lenA;
		else lenC=lenB;
		for(int i=1;i<=lenC;i++)
		{
			a[i]+=b[i];
			if(a[i]>=10)
			{
				a[i+1]+=a[i]/10;
				ans++;
			}
			a[i]%=10;
		}
		int t=10010;
		while(a[t]==0)
		{
			t--;
		}
		if(!ans){
			printf("No carry operation.\n");
		}
		else 
		{
			printf("%lld carry operation.\n",ans);
		}
	}
	return 0;
}
2021/12/2 14:04
加载中...