1. 首页
  2. 其他语言
  3. C/C++

编写一个C程序来检查一个数是否是素数?



素数是一个正的自然数,它的值大于 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
#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; }

运行结果如下:

c
Enter the number : 11
11 is prime number..

发布者:admin,如若转载,请注明出处:https://ai1024.vip/37066.html

QR code
//