社区讨论

救命,最后一个点过不去了o(TヘTo)(c++)

P1581A+B Problem(升级版)参与者 4已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@lo3crsj9
此快照首次捕获于
2023/10/24 04:31
2 年前
此快照最后确认于
2023/10/24 04:31
2 年前
查看原帖
这是孩子的代码
CPP
#include<iostream>
#include<cstring>
typedef long long ll;
using namespace std;
char s[60];
int a[60],b[60],c[60],jz[10]={2,3,5,7,11,13};
int main()
{
	cin>>s;
	int k=0,la=0,lb=0;
	ll ls=strlen(s);
	for(int i=0;s[i]!='+';i++)
	{
		if(s[i]>='0'&&s[i]<='9')
		{
			a[k++]=s[i]-'0';
			la++;
		}
	}
	k=0;
	for(int i=ls-1;s[i]!='+';i--)
	{
		if(s[i]>='0'&&s[i]<='9')
		{
			b[k++]=s[i]-'0';
			lb++;
		}
	}
	for(int i=0;i<=(la-1)/2;i++)
	{
		swap(a[i],a[la-i-1]);
	}
	int l=max(la,lb);
	for(int i=0;i<l;i++)
	{
		c[i]+=a[i]+b[i];
		if(c[i]>=jz[i])
		{
			c[i+1]+=c[i]/jz[i];
			c[i]%=jz[i];
		}
	}
	while(l>0&&c[l]!=0) l++;
	for(int i=l-1;i>0;i--) cout<<c[i]<<",";
	cout<<c[0];
	return 0;
} 
求指正(乖巧

回复

5 条回复,欢迎继续交流。

正在加载回复...