c语言筛选法求200以内素数
时间: 2023-07-02 22:18:25 浏览: 96
C语言 求100~200之间的素数
以下是使用筛选法求200以内素数的C语言代码:
```
#include <stdio.h>
int main()
{
int n = 200;
int prime[201] = {0}; // 初始化数组,0表示未筛选,1表示合数,2表示素数
int i, j;
for (i = 2; i <= n; i++)
{
if (prime[i] == 0) // i为素数
{
printf("%d ", i);
for (j = i * i; j <= n; j += i) // 将i的倍数标记为合数
{
prime[j] = 1;
}
prime[i] = 2; // 标记i为素数
}
}
return 0;
}
```
该程序使用了一个数组 `prime` 来记录每个数字的状态,初始时所有数字都被标记为未筛选。程序从2开始枚举每个数字,如果该数字未被标记为合数,则输出该数字并将其倍数标记为合数。最后,被标记为素数的数字被标记为2。
阅读全文