质数是一个只能被
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 是否可以被
i 完全整除:
if (n % i == 0) {
flag = 1;
break;
}
如果
n 可以被
i 整除,则
n 不是素数。在这种情况下,
flag 设置为 1,循环使用
break
语句终止。
请注意,我们在程序启动时将
flag 初始化为 0。
因此,如果
n 是循环后的素数,
flag 仍将为 0。但是,如果
n 是非质数,
flag 将为 1、
访问此页面以了解如何打印两个间隔之间的所有质数.