📜  C程序检查数字是否为质数

📅  最后修改于: 2020-10-04 11:44:02             🧑  作者: Mango

在此示例中,您将学习检查用户输入的整数是否是质数。

质数是一个只能被1和其自身整除的正整数。例如:2、3、5、7、11、13、17


程序检查素数
#include 
int main() {
    int n, i, flag = 0;
    printf("Enter a positive integer: ");
    scanf("%d", &n);

    for (i = 2; i <= n / 2; ++i) {

        // condition for non-prime
        if (n % i == 0) {
            flag = 1;
            break;
        }
    }

    if (n == 1) {
        printf("1 is neither prime nor composite.");
    }
    else {
        if (flag == 0)
            printf("%d is a prime number.", n);
        else
            printf("%d is not a prime number.", n);
    }

    return 0;
}

输出

Enter a positive integer: 29
29 is a prime number.

在程序中,for循环从i = 2迭代到i < n/2

在每次迭代中,使用以下命令检查n是否可被i完全整除:

if (n % i == 0) {
   
}

如果n被i完全整除,则n不是质数。在这种情况下, 标志设置为1,并使用break语句终止循环。

循环后,如果n为质数,则标志仍为0。但是,如果n为非质数,则标志为1。

访问此页面以了解如何打印两个间隔之间的所有素数。