c语言,用筛选法求100以内的素数
时间: 2023-11-22 13:58:30 浏览: 182
senven,c语言解析包源码,c语言程序
下面是使用筛选法求100以内素数的C语言代码:
```c
#include <stdio.h>
int main() {
int is_prime[101] = {0}; //初始化数组,0表示未筛选,1表示非素数,2表示素数
for (int i = 2; i <= 100; i++) {
if (is_prime[i] == 0) { //如果i未筛选
is_prime[i] = 2; //标记i为素数
for (int j = 2; i * j <= 100; j++) {
is_prime[i * j] = 1; //标记i的倍数为非素数
}
}
}
for (int i = 2; i <= 100; i++) {
if (is_prime[i] == 2) { //输出素数
printf("%d ", i);
}
}
return 0;
}
```
首先初始化一个长度为101的数组`is_prime`,其中0表示未筛选,1表示非素数,2表示素数。从2开始遍历到100,如果当前数`i`未筛选,则将其标记为素数,并将其所有倍数标记为非素数。最后遍历数组,输出素数。
阅读全文