绝对素数是指本身是素数,其逆序数也是素数的数。例如:10321与12301是绝对素数。编写一个程序,输入m, 输出不大于m的最大绝对素数, 如不存在则输出no。
(输入描述)正整数m
(输出描述)输出不大于m的最大绝对素数, 如不存在则输出no
(样例输入)60000
(样例输出)39989
供参考:
#include<stdio.h>
int isPrime(int n)
{
int i;
if(n<=3) return n>1;
for(i=2;i*i<=n;i++)
if(n%i==0)return 0;
return 1;
}
int reverse(int n)
{
int m=0;
while(n){
m = m*10 + n%10;
n /= 10;
}
return m;
}
int fun(int n)
{
if(isPrime(n) && isPrime(reverse(n)))
return 1;
else
return 0;
}
int main()
{
int i,flg=0,m;
scanf("%d",&m);
for(i=m;i > 1;i--){
if(fun(i)){
printf("%d",i);
flg++;
break;
}
}
if(!flg)
printf("no");
return 0;
}