P1217求助
查看原帖
P1217求助
1219677
liaoyancheng楼主2024/3/6 21:43

66分,有三个测试点超时。求大佬帮助

#include<bits/stdc++.h>
using namespace std;
bool f=1;
void zs(long long n)
{
	if(n%3==0||n%5==0||n%7==0||n%11==0||n%13==0)
	{
		if(n>13)
		{
			f=0;
		}
		else
		{
			long long i;
			if(n%2==0)
			{
				f=0;
			}
			for(i=3;i<n;i+=2)
			{
				if(n%i==0)
				{
					f=0;
				}	
				if(f==0)
				{
					break;
				}
			}
		}
	}
	else
	{
		long long i;
		if(n%2==0)
		{
			f=0;
		}
		for(i=13;i<n;i+=2)
		{
			if(n%i==0)
			{
				f=0;
			}	
			if(f==0)
			{
				break;
			}
		}
	}
}
void hws(long long n)
{
	long long a=n,b=0,s=0;
	while(a>0)
	{
		b=b*10+a%10;
		a/=10;
		s++;
		if(b==0)
		{
			f=0;
			break;
		}
	}
	if(b!=n)
	{
		f=0;
	}
	if(s%2==0)
	{
		if(n!=11)
		{
			f=0;
		}
	}
}
int main () 
{
	long long c,a,b;
	cin>>a>>b;
	if(a%2==0)
		c=a+1;
	else
		c=a;
	for(long long i=c;i<=b;i+=2)
	{
		if(i>=9989899)
		{
			cout<<9989899<<endl;
			break;
		}
		else
		{
			hws(i);
			if(f==1)
			{
				zs(i);
				if(f==1)
				{
					cout<<i<<endl;
				}
			}
			f=1;
		}
	}
	return 0;
}
2024/3/6 21:43
加载中...