求助
代码:
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
string s;
long long a[N],b[N],c[N],l=2,ll=1,m[10]={0,2,3,5,7,11,17};
int main()
{
cin>>s;
int len=s.size(),flg=0,l_a=1,l_b=1;
for(long long i=len;i>=0;i--)
{
if(s[i]=='+')
{
flg=1;
continue;
}
if(isdigit(s[i])==1)
{
if(flg==0)
{
a[l_a]=s[i]-'0';
l_a++;
}
else
{
b[l_b]=s[i]-'0';
l_b++;
}
}
}
int len2=max(l_a,l_b);
for(long long i=1;i<=len2;i++)
{
c[i]+=a[i]+b[i];
if(c[i]>=l)
{
c[i+1]+=c[i]/l;
c[i]%=l;
}
l+=ll;
ll+=1;
}
for(long long i=1;;i++)
{
if(c[len2+i]!=0)
{
len++;
}
else
{
break;
}
}
for(long long i=len2;i>=1;i--)
{
cout<<c[i];
if(i!=1)
{
cout<<',';
}
}
return 0;
}
只得了 60 分,求助。