P1217回文质数
  • 板块学术版
  • 楼主No1MingmingYYDS
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/6/16 09:20
  • 上次更新2024/6/16 11:37:50
查看原帖
P1217回文质数
1315366
No1MingmingYYDS楼主2024/6/16 09:20
#include<bits/stdc++.h>
using namespace std;
int main(){
	int a,b;
	cin>>a>>b;
	if(a<=5&&b>=5)
		cout<<5<<endl;
	if(a<=7&&b>=7)
		cout<<7<<endl;
	if(a<=11&&b>=11)
		cout<<11<<endl;
	for(int d1=1;d1<=9;d1+=2)
		for(int d2=0;d2<=9;d2++)
		{
			int num=100*d1+10*d2+d1;
			if(num<a)
				continue;
			if(num>b)
				return 0;
			int flag;
			for(int j=3;j*j<=num;j++)
				if(num%j==0)
				{
					flag=0;
					break;
				}
				if(flag)
					cout<<num<<endl;
		}
		for(int d1=1;d1<=9;d1+=2)
			for(int d2=0;d2<=9;d2++)
				for(int d3=0;d3<=9;d3++)
				{
					int num=10000*d1+1000*d2+100*d3+10*d2+d1;
					if(num<a)
						continue;
					if(num>b)
						return 0;
					int flag=1;
					for(int j=3;j*j<=num;j++)
						if(num%j==0)
						{
							flag=0;
							break;
						}
						if(flag)
							cout<<num<<endl;
				}
				for(int d1=1;d1<=9;d1+=2)
					for(int d2=0;d2<=9;d2++)
						for(int d3=0;d3<=9;d3++)
							for(int d4=0;d4<=9;d4++)
							{
								int num=1000000*d1+100000*d2+10000*d3+1000*d4+100*d3+10*d2+d1;
								if(num<a)
									continue;
								if(num>b)
									return 0;
								int flag=1;
								for(int j=3;j*j<=num;j++)
									if(num%j==0)
									{
										flag=0;
										break;
									}
									if(flag)
										cout<<num<<endl;
							}
	return 0;
}
2024/6/16 09:20
加载中...