题目描述
10301是个5位的素数。它有个特点,把数字倒过来还是它本身,具有这样特征的素数,我们称之为:回文素数。
即:对一个整数n从左向右和从右向左读其数值都相同且n为素数。
10501
10601
11311 这些都是5位的回文素数。
求出所有不超过1000的回文素数 个数。
输入
无输出
输出
一个整数表示1000以内的回文素数个数
样例输出
16
#代码
# include <stdio.h>
int main ()
{
int i,j,n,n1,n2,n3,m,k;
n = 0;
for (i = 3; i < 1000; i++)
{
k = 0;
for (j = 2; j < i; j++)
{
if (i % j == 0)
k++;
}
if (k == 0)
{
if (i >= 100)
{
n1 = i % 10;
n3 = i / 100;
n2 = (i % 100) / 10;
if (i == n1 * 100 + n2 * 10 + n3)
n++;
}
else if (i >= 10)
{
n1 = i % 10;
n2 = i / 10;
if (i == n1 * 10 + n2)
n++;
}
}
}
printf ("%d\n",n);
return 0;
}