C語言:判斷絕對素數
阿新 • • 發佈:2018-12-19
如果一個正整數是素數,它的反位數也是素數,則稱這樣的數為絕對素數。 如需繼續瞭解,請檢視百度百科絕對素數
#include<stdio.h>
#include<math.h>
int prime(unsigned int);
int main()
{
unsigned int n, m;
scanf("%u",&n);
if(prime(n) != 0)
m =rev(n);
else
{
printf("輸入的數%u不是素數\n",n);
return 0;
}
if(prime(m) !=0)
printf("%u是絕對素數!\n" ,n);
else
print("%u不是絕對素數!\n",n);
return 0;
}
//求絕對素數的定義
int prime(unsigned int x)
{
int i, k;
k = sqrt(x);
for(i = 2; i <= k; i++)
{
if(x % i == 0)
return 0;
else if(i > k)
return 0;
}
}
//求反位數的函式定義
unsigned int rev(unsigned int y)
{
unsigned int z = 0;
while(y != 0)
{
z = z * 10 + y % 10;
y = y / 10;
}
return 0;
}