用c语言的for语句写3~100的素数
时间: 2024-10-24 09:10:51 浏览: 18
(完整版)c语言求100以内素数.doc
5星 · 资源好评率100%
在C语言中,我们可以利用嵌套的for循环结构以及之前提到的素数检测函数来找出3到100之间的所有素数。以下是代码示例:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1)
return false;
if (num == 2 || num == 3)
return true;
if (num % 2 == 0 || num % 3 == 0)
return false;
for (int i = 5; i * i <= num; i += 6) { // 跳过6的倍数,只检查奇数因数
if (num % i == 0 || num % (i + 2) == 0)
return false;
}
return true;
}
int main() {
for (int i = 3; i <= 100; i++) {
if (is_prime(i)) {
printf("%d ", i); // 打印素数
}
}
printf("\n"); // 结束打印
return 0;
}
```
这段代码首先检查2和3是否为素数,然后从5开始跳过所有6的倍数(因为它们要么是偶数,要么已经被3整除),仅检查奇数作为可能的因数。这样可以显著减少计算量。
阅读全文