两份代码,一个21,一个22,WA求助!
查看原帖
两份代码,一个21,一个22,WA求助!
576173
FanSizhe127楼主2023/1/1 14:20
22pts
#include<bits/stdc++.h>
using namespace std;
int s[100005],o=0;
bool pd(int x)
{
	if(x==0||x==1)
		return 0;
	for(int i=2;i<=sqrt(x);i++)
		if(x%i==0)
			return 0;
	return 1;
}
int main()
{
	int a,b,old,f=0;
	cin>>a>>b;
	if(a>b)swap(a,b);
	if(pd(b-a))
	{
		cout<<2<<'\n';
		cout<<a<<' '<<b;
		return 0;
	}
	old=a;
	for(int i=a+1;i<=b+10000;i++)
	{
		if(i%2==0&&i!=2)continue;
		if(pd(i)==0)continue;
		if(pd(i-old))
		{
			if(old==b)break;
			s[++o]=old;
			f=1;
			if(pd(abs(b-old)))
				break;
		}
		old=i;
		if(f==0)old=a;
	}
	if(f==0)cout<<-1;
	else 
	{
		cout<<o+1<<'\n';
		for(int i=1;i<=o;i++)
			cout<<s[i]<<' ';
		cout<<b;
	}
}

21pts

#include<bits/stdc++.h>
using namespace std;
bool pd(int x)
{
	if(x==0||x==1)
		return 0;
	for(int i=2;i<=sqrt(x);i++)
		if(x%i==0)
			return 0;
	return 1;
}
int main()
{
	int a,b,old,f=0;
	cin>>a>>b;
	if(a>b)swap(a,b);
	if(pd(b-a))
	{
		cout<<2<<'\n'<<a<<' '<<b;
		return 0;
	}
	old=a;
	for(int i=a+1;i<=b+1000;i++)
	{
		if(i%2==0&&i!=2)continue;
		if(pd(i)==0)continue;
		if(pd(i-a)&&pd(abs(b-i)))
		{
			if(f==0)
				cout<<3<<'\n'<<a<<' ';
			cout<<i<<' ';
			f=1;
			break;
		}
	}
	if(f==0)cout<<-1;
	else cout<<b;
}
2023/1/1 14:20
加载中...