今天 的题目与素数和令数反序有关,具体看题目。
题目:回文素数
求不超过1000的回文素数。所谓回文素数是指,对一个整数n从左向右和从右向左读其结果值相同且是素数。
程序如下:
#include <stdio.h>
int a(int b);
int main()
{
int i, j, k, m, n;
for (i = 0; i <= 9; i++)
{
for (j = 0; j <= 9; j++)
{
for (k = 0; k <= 9; k++)
{
m = i * 100 + j * 10 + k;
n = k * 100 + j * 10 + i;
if (i == 0 && j == 0)
{
n = n / 100;
}
else if (i == 0)
{
n = n / 10;
}
if (m == n && a(m) && m > 1)
{
printf("%d\t", m);
}
}
}
}
printf("\n");
return 0;
}
int a(int b)
{
int i;
for (i = 2; i <= b / 2; i++)
{
if (0 == b % i)
{
return 0;
}
}
return 1;
}
运行结果如下:
2 3 5 7 11 101 131 151 181 191 313 353 373 383 727 757 787 797 919 929