为何不对(又一次)
查看原帖
为何不对(又一次)
1201566
mcz123321楼主2024/5/29 22:20
#include<bits/stdc++.h>
using namespace std;

bool ss(long long a)
{
	if(a<2) return 0;
	for(int i=2;i<=sqrt(a);i++)
	{
		if(a%i==0) return 0;
	}
	return 1;
 } 
bool hws1(long long a)
{
	int b;
	while(a!=0)
	{
		b++;
		a/=10;
	}
	return b%2;
}
int qz(long long a)
{
	int b=1;
	while(a!=0)
	{
		a/=10;
		b*=10;
	}
	return b/10;
}
int main()
{
	long long a,b;
	cin>>a>>b;
	for(long long j=qz(a);j<b;j*=10)
	{
		if(j==0)j++;
		else if(hws1(j))//9位 
		{
			if(j==1)//1
			{
				for(int i=1;i<10;i+=2)
					if(ss(i)&&i>=a&&i<=b) cout<<i<<endl;
			}
			if(j==100)//3
			{
				for(int i=1;i<=9;i++)
					for(int x=0;x<=9;x++)
						if(ss(i*100+x*10+i)&&i*100+x*10+i>=a&&i*100+x*10+i<=b) cout<<i*100+x*10+i<<endl;
			}
			if(j==10000)//5
			{
				for(int i=1;i<=9;i+=2)
					for(int x=0;x<=9;x++)
						for(int y=0;y<=9;y++)
							if(ss(i*10000+x*1000+y*100+x*10+i)&&i*10000+x*1000+y*100+x*10+i>=a&&i*10000+x*1000+y*100+x*10+i<=b) cout<<i*10000+x*1000+y*100+x*10+i<<endl;
			}
			if(j==1000000)//7
			{
				for(int i=1;i<=9;i+=2)
					for(int x=0;x<=9;x++)
						for(int y=0;y<=9;y++)
							for(int z=0;z<=9;z++)
								if(ss(i*1000000+x*100000+y*10000+z*1000+y*100+x*10+i)&&i*1000000+x*100000+y*10000+z*1000+y*100+x*10+i<=b&&i*1000000+x*100000+y*10000+z*1000+y*100+x*10+i>=a) cout<<i*1000000+x*100000+y*10000+z*1000+y*100+x*10+i<<endl;
			}
		}
	}
	return 0;
}
2024/5/29 22:20
加载中...