检查一个数是否为质数的 C 程序
在此示例中,您将学习使用 C 语言检查用户输入的整数是否为质数。
要理解此示例,您应该具备以下 C 语言编程主题的知识:
质数是一个只能被 1
和本身整除的正整数。例如:2、3、5、7、11、13、17
检查质数的程序
#include <stdio.h>
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) {
flag = 1;
break;
}
如果 n
完全可以被 i
整除, n
不是质数。在这种情况下, flag
设置为 1,并使用 break
语句终止循环。
注意我们在程序开始时已经初始化 flag
为 0。
因此,如果 n
是循环后的质数, flag
仍将是 0。但是,如果 n
是一个非质数, flag
将是 1。
访问此页面以了解如何打印两个间隔之间的所有质数。