用C语言通过筛选法找出100以内的素数
时间: 2023-08-31 12:11:21 浏览: 87
c语言找出100以内的素数
用C语言通过筛选法找出100以内的素数的代码如下:
```c
#include <stdio.h>
#include <stdbool.h>
int main() {
bool is_prime[101]; // 定义一个bool类型的数组,用于标记是否为素数
for (int i = 0; i <= 100; i++) {
is_prime[i] = true; // 初始化所有数都为素数
}
for (int i = 2; i <= 100; i++) {
if (is_prime[i]) { // 如果i是素数,则将i的倍数标记为非素数
for (int j = i * 2; j <= 100; j += i) {
is_prime[j] = false;
}
}
}
printf("100以内的素数有:\n");
for (int i = 2; i <= 100; i++) {
if (is_prime[i]) { // 输出所有标记为素数的数
printf("%d\n", i);
}
}
return 0;
}
```
该程序使用了筛选法(埃氏筛法)来找出100以内的素数。具体来说,程序首先定义一个bool类型的数组is_prime,用于标记每个数是否为素数。然后,程序从2开始遍历到100,对于每个素数i,将i的倍数标记为非素数。最后,程序输出所有标记为素数的数。
阅读全文