#5没过,求助
查看原帖
#5没过,求助
1165146
Linco2012楼主2024/11/18 16:44
#include<iostream>
#include<cmath>
#include<ctime>
#include<cstring>
#include<algorithm>
#include<set>
#include<map>
#include<list>
#include<stack>
#include<queue>
#include<cstdio>
using namespace std;
int a[510],b[510],c[510];
int x[7]={0,2,3,5,7,11,13};
int main()
{
	string s,A,B;
	bool f=1;
	cin>>s;
	for(int i=0;i<s.size();i++)
	{
		if(s[i]=='1'&&s[i+1]=='0')
		{
			if(f)	A+=(10+'0');
			else	B+=(10+'0'); 
		}
		else
		{
			if(s[i]>='0'&&s[i]<='9')
			{
				if(f)	A+=s[i];
				else	B+=s[i]; 
			}
			if(s[i]=='+')   f=0;
		}
	}
	int len=max(A.length(),B.length());
	for(int i=A.length()-1,j=1;i>=0;i--,j++)
	{
		a[j]=A[i]-'0';
	}
	for(int i=B.length()-1,j=1;i>=0;i--,j++)
	{
		b[j]=B[i]-'0';
	}
	for(int i=1;i<=len;i++)
	{		
		c[i+1]+= (c[i]+a[i]+b[i])/x[i];	
		c[i]=(c[i]+a[i]+b[i])%x[i];   
	}
	if(c[len+1])     len++;
	for(int i=len;i>=1;i--)
	{
		cout<<c[i];
		if(i!=1)
		{
			cout<<',';
		}
	}
	return 0;
}

2024/11/18 16:44
加载中...