TLEQaQ,求优化
查看原帖
TLEQaQ,求优化
378346
expnoi楼主2020/9/19 10:29
#include<bits/stdc++.h>
using namespace std;
bool a1[100000001],a2[100000001];
bool prime(int n) {
	if(n==1)
		return 0;
	if(n==2)
		return 1;
	for(int i=2; i*i<=n; i++) {
		if(n%i==0) {
			return 0;
		}
	}
	return 1;
}
bool check(int n) {
	int a,b,c,d,e,f,g,h,i,j,k;
	a=n%10;
	b=n/10%10;
	c=n/100%10;
	d=n/1000%10;
	e=n/10000%10;
	f=n/100000%10;
	g=n/1000000%10;
	h=n/10000000%10;
	if(n<10)
	return 1;
	if(n<100000000&&n>=10000000)
	{
		if(h==a&&g==b&&f==c&&e==d)
		{
			return 1;
		}
		else
		return 0;
	}
	if(n<10000000&&n>=1000000)
	{
		if(g==a&&f==b&&e==c)
		{
			return 1;
		}
		else
		return 0;
	}
	if(n<1000000&&n>=100000)
	{
		if(f==a&&e==b&&d==c)
		{
			return 1;
		}
		else
		return 0;
	}
	if(n<100000&&n>=10000)
	{
		if(e==a&&d==b)
		{
			return 1;
		}
		else
		{
			return 0;
		}
	}
	if(n<10000&&n>=1000)
	{
		if(d==a&&c==b)
		{
			return 1;
		}
		else
		return 0;
	}
	if(n<1000&&n>=100)
	{
		if(c==a)
		{
			return 1;
		}
		else
		{
			return 0;
		}
	}
	if(n<100&&n>=10)
	{
		if(a==b)
		{
			return 1;
		}
		else
		return 0;
	}
}
int main() {
	ios::sync_with_stdio(false);
	int i,n1,n2;
	cin>>n1>>n2;

	for(i=n1; i<=n2; i++) {
		if(prime(i)) {
			a1[i]=1;
		}
	}
	for(i=n1;i<=n2;i++)
	{
		if(a1[i]&&check(i))
		{
			cout<<i<<"\n";
		}
	}
}
2020/9/19 10:29
加载中...