因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以151是回文质数。请写一个程序来找出范围[a,b] (5≤a≤b≤100000)间的所有回文质数。
输入:只有一行,为两个整数,依次代表a,b 。
输出:每个回文质数输出一行。测试用例保证输入合法且输出至少包含一个回文质数。
#include<stdio.h>
int huiwen(int n);
int isprim(int n);
int main()
{
int a,b,n;
scanf("%d%d",&a,&b);
for(n=a;n<=b;n++)
{
if(huiwen(n)==1&&isprim(n)==1)
printf("%d\n",n);
}
return 0;
}
int huiwen(int n)
{
int re=0,len=0,i=0,j=0;
i=n;
for(len=0;i!=0;len++)
i/=10;
j=n;
for(;len>0;len--)
{
re=re*10+j%10;
j/=10;
}
if(re==n)
return 1;
else
return 0;
}
int isprim(int n)
{
int i;
for(i=2;i<n;i++)
{
if(n%i==0)
return 0;
}
return 1;
}