只有两位数及以上位数的数能构成回文数!
#include<iostream>
#include<math.h>
using namespace std;
int huiwen(int); //构造回文数
int prime(int); //判断素数
int main() //本题采用构造回文数,在判断是否为素食再输出的办法
{
int a,b;
cin>>a>>b;
int i;
if(a<12)
{
for(i=a;i<12&&i<=b;i++)
{
if(prime(i))
{
cout<<i<<endl;
}
}
}
int temp; //寄存!!!
for(i=10;i<10000;i++)
{
temp=i;
i=huiwen(i);
{
if(i>=a&&i<=b)
{
if(prime(i))
{
cout<<i<<endl;
}
}
}
i=temp;
}
return(0);
}
int huiwen(int n) //制造回文数
{
int m;
m=n/10;
while(m)
{
n=n*10+m%10;
m=m/10;
}
return(n);
}
int prime(int n) //判素数
{
int j,flag=0;
double k=sqrt(n);
if(n%2==0&&n!=2||n==1)
{
return(0);
}
for(j=3;j<=k;j=j+2)
{
if(n%j==0)
{
flag=1;
break;
}
}
if(flag==0)
{
return(1);
}
else
{
return(0);
}
}