编写一个判断数是否为可逆素数的程序

来源:百度知道 编辑:UC知道 时间:2024/05/13 09:47:56
若将一素数的各位数字的顺序颠倒后得到的数仍是素数,则此素数为可逆 素数。

#include <stdio.h>

int Digit(int n)
{
return n > 0 ? 1 + Digit(n/10) : 0;
}

int Pow(int x, int n)
{
return n > 0 ? x * Pow(x, n-1) : 1;
}

int Rint(int n)
{
return n > 0 ? n%10 * Pow(10, Digit(n)-1) + Rint(n/10) : 0;
}

int IsPrime(int n)
{
if(n == 0 || n == 1)
return 1;

int div;
for(div = n/2; n%div != 0; --div);

return div == 1;
}

int IsPalindrome(int n)
{
return n == Rint(n);
}

int main()
{
for(int i = 0; i < 1000; ++i)
{
if(IsPrime(i) && IsPalindrome(i))
printf("%d\n", i);
}
}

#include <stdio.h>
#include <string.h>

/*char* Rstrcpy(char* destBeg, char* destEnd, char* src)
{
char* srcEnd = src;
while(*srcEnd != '\0')++srcEnd;

while(srcEnd != src - 1 &