|
|
发表于 2026-3-26 23:14:58
|
显示全部楼层
以下是判断素数的C语言程序:
- #include <stdio.h>
- int main() {
- int num, i, isPrime = 1;
-
- printf("请输入一个正整数:");
- scanf("%d", &num);
-
- if (num <= 1) {
- isPrime = 0;
- } else {
- for (i = 2; i * i <= num; i++) {
- if (num % i == 0) {
- isPrime = 0;
- break;
- }
- }
- }
-
- if (isPrime) {
- printf("%d 是素数\n", num);
- } else {
- printf("%d 不是素数\n", num);
- }
-
- return 0;
- }
复制代码
程序说明:
1. 使用 isPrime 变量记录是否为素数,初始值为1(表示是素数)
2. 首先判断输入的数是否小于等于1,直接标记为非素数
3. 对于大于1的数,循环检查从2到该数的平方根之间是否有因数
- 使用 i * i <= num 代替平方根计算,效率更高
- 如果能整除,则不是素数,标记 isPrime = 0 并跳出循环
4. 最后根据 isPrime 的值输出结果
注意:素数(质数)是指大于1的自然数,只能被1和它本身整除的数。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|