用筛选法,将2到100之内的素数打印出来
时间: 2024-03-24 22:38:33 浏览: 156
以下是使用筛选法(埃氏筛法)将2到100之内的素数打印出来的C语言代码示例:
```c
#include <stdio.h>
#include <stdbool.h>
int main() {
bool is_prime[101];
int i, j;
// 初始化数组,假设所有数都是素数
for (i = 2; i <= 100; i++) {
is_prime[i] = true;
}
// 筛选素数
for (i = 2; i <= 100; i++) {
if (is_prime[i]) {
// 将i的倍数标记为非素数
for (j = i * 2; j <= 100; j += i) {
is_prime[j] = false;
}
}
}
// 输出素数
printf("2到100之间的素数为:\n");
for (i = 2; i <= 100; i++) {
if (is_prime[i]) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
在此代码中,我们使用了一个 `is_prime` 数组来记录每个数是否为素数。首先将数组中所有数都初始化为素数,然后从2开始遍历数组,如果该数是素数,则将其倍数标记为非素数。最后遍历数组输出素数即可。
阅读全文