include<bits/stdc++.h>
using namespace std;1.
bool sushu(int a);//自创函数,判断是否为素数
int weishu(int a);//判断位数
int main()
{
int a,b;//起始值和结束值
cin>>a>>b;
for(int i=a;i<=b;i++)
{
if(i==8)
{
cout<<11<<endl;//特判输出11,因为偶数位的数只有11是回文素数
}
if(i==9999999)//题目范围最大到一亿,所以算到7位数就行了
{
break;
}
if(weishu(i)%2==0)//如果是偶数位,那么值乘以10,因为偶数位只有一个回文素数11
{
i*=10;
}
switch(weishu(i))//判断是否为回文素数
{
case 1:
{
if(sushu(i))//一位数只用判断是否为素数即可
{
cout<<i<<"\n";
}
break;
}
case 3://三位数判断百位和个位是否相等,并且判断是否为素数
{
if(i/100==i%10&&sushu(i))
{
cout<<i<<"\n";
}
break;
}
case 5://五位数判断万位与个位是否相等,并判断千位与十位是否相等,最后判断是否为素数
{
if(i/10000==i%10&&i/1000%10==i%100/10&&sushu(i))
{
cout<<i;
}
break;
}
case 7://七位数要判断百万位和个位,十万位和十位,万位和百位,以及是否为素数
{
if(i/1000000==i%10&&i/100000%10==i/100%10&&i/10000%10==i%1000/100&&sushu(i))
{
cout<<i<<endl;
}
break;
}
}
}
}
bool sushu(int a)
{
for(int i=2;i*i<=a;i++)
{
if(a%i==0)
{
return false;
}
}
return true;
}//自创函数,判断是否为素数
int weishu(int a)
{
int sum=0;
while(a>10)
{
a/=10;
sum++;
}
return sum;
}//自创函数,判断位数
有大佬的话,帮一帮吧