用c语言求出100-200之间所有的素数
时间: 2023-12-04 19:53:28 浏览: 71
C语言 求100~200之间的素数
可以使用类似于埃氏筛法的方式来求出100-200之间的素数。
具体来说,可以用一个布尔数组来标记每个数是否是素数,然后从2开始遍历每个数,如果它是素数就将它的倍数都标记为合数,最后输出所有没有被标记的数即可。
代码示例如下:
```c
#include <stdio.h>
#define N 200
int main(void) {
// 标记数组,prime[i]为true表示i是素数,否则为合数
bool prime[N + 1];
for (int i = 2; i <= N; i++) {
prime[i] = true;
}
// 埃氏筛
for (int i = 2; i <= N; i++) {
// 如果i是素数,则将它的倍数都标记为合数
if (prime[i]) {
for (int j = 2 * i; j <= N; j += i) {
prime[j] = false;
}
}
}
// 输出100-200之间的素数
for (int i = 100; i <= N; i++) {
if (prime[i]) {
printf("%d\n", i);
}
}
return 0;
}
```
阅读全文