为什么是错的?
查看原帖
为什么是错的?
493169
秦冇甪饕楼主2022/7/9 15:18

我检查了一遍,没有问题啊?

#include <bits/stdc++.h>
using namespace std;
int a[7]={2,3,5,7,11},aa[8]={},bb[8]={};
int c[8];
signed main()
{
	string b;
	cin>>b;
	int temp=0,k,sum1=0,sum2=0,sum3=0;
	for(int i=b.size()-1;i>=0;i--)
	{
		if(b[i]=='+')
		{
			k=i-1;
			break;
		}
		else
		{
			if(b[i]>='0'&&b[i]<='9')
			{
				aa[temp++]=b[i]-'0',sum1++;
			}
		}
	}
	temp=0;
	for(int i=k;i>=0;i--)
	{
		if(b[i]>='0'&&b[i]<='9')
		{
			bb[temp++]=b[i]-'0',sum2++;
		}
	}
	int max=(sum1>sum2)?(sum1):(sum2);
	for(int i=0;i<max;i++)
	{
		c[i]+=aa[i]+bb[i];
		if(c[i]>=a[i])
		{
			c[i]-=a[i];
			c[i+1]++;
			sum3++;
		}
	}
	for(int i=7;i>0;i--)
	{
		if(c[i]==1) sum3++;
		else break;
	}
	for(int i=sum3+1;i>0;i--)
	{
		cout<<c[i]<<",";
	}
	cout<<c[0];
	return 0;
}
2022/7/9 15:18
加载中...