素数是一个正的自然数,它的值大于 1,并且只有两个因数 1 和数本身。
使用除法检查素数的算法
**开始**
步骤 1 → 取数 n
步骤 2 → 将数字 n 除以 (2, n-1) 或 (2, n/2) 或 (2, sqrt(n))。
步骤 3 → 如果数 n 可被 (2, n-1) 或 (2, n/2) 或 (2, sqrt(n)) 之间的任何数整除,则它不是素数
步骤 4 → 如果它不能被 (2, n-1) 或 (2, n/2) 或 (2, sqrt(n)) 之间的任何数整除,则它是质数
最后停止
示例代码:
c 运行结果如下:
c 发布者:admin,如若转载,请注明出处:https://ai1024.vip/37066.html
#include
#include
#define PRIME_NUMBER 1
int IsPrimeNumber(int iNumber)
{
int iLoop = 0;
int iPrimeFlag = 1;
int iLimit = sqrt(iNumber); // calculate of square root n
if(iNumber <= 1)
{
iPrimeFlag = 0;
}
else
{
for(iLoop = 2; iLoop <= iLimit; iLoop++)
{
if((iNumber % iLoop) == 0) // Check prime number
{
iPrimeFlag = 0;
break;
}
}
}
return iPrimeFlag;
}
int main(int argc, char *argv[])
{
int iRetValue = 0;
int iNumber = 0;
printf("Enter the number : ");
scanf("%d",&iNumber);
iRetValue = IsPrimeNumber(iNumber);
if (iRetValue == PRIME_NUMBER)
{
printf("\n%d is prime number..\n", iNumber);
}
else
{
printf("\n%d is not a prime number..\n", iNumber);
}
return 0;
}
Enter the number : 11
11 is prime number..