C语言 给出任意范围可逆素数对且不重复
本文给出100~1000以内供参考,读者可调整对象式宏INF与SUP的值来改变范围。
#include <stdio.h>
#include <math.h>
#define INF 100
#define SUP 1000
int IsPrime(int n)
{
int i;
if (n <= 1)
return 0;
for (i = 2; i <= (int)sqrt(n); i++)
if (n % i == 0 && n != 2)
return 0;
return 1;
}
int rev(int n)
{
int x=0;
while (n != 0){
x = x*10 + n%10;
n /= 10;
}
return x;
}
int main()
{
int i;
for (i=INF;i<SUP;i++)
if (IsPrime(i) && IsPrime(rev(i)) && rev(i) >= i)
printf("%d,%d\n",i,rev(i));
return 0;
}