用筛选法求100以内的素数。就是在2到100,去掉2,3,4,5,6,7,8,9,10的倍数。要用两个数组a[]b[]并打印,用c语言
时间: 2023-09-26 19:07:27 浏览: 74
以下是用筛选法求100以内的素数的C语言代码:
```c
#include <stdio.h>
#define MAX 100
int main()
{
int a[MAX], b[MAX], i, j;
// 初始化数组a
for(i = 2; i <= MAX; i++)
a[i] = 1;
// 筛选法求素数
for(i = 2; i <= MAX; i++)
{
if(a[i] == 1)
{
for(j = 2; i*j <= MAX; j++)
a[i*j] = 0;
}
}
// 将素数存入数组b
j = 0;
for(i = 2; i <= MAX; i++)
{
if(a[i] == 1)
{
b[j] = i;
j++;
}
}
// 打印数组b
printf("100以内的素数:\n");
for(i = 0; i < j; i++)
printf("%d ", b[i]);
return 0;
}
```
其中,数组a用于标记是否为素数(1表示是素数,0表示不是素数),数组b用于存储素数。首先将数组a初始化为1,然后从2开始遍历数组a,如果当前数字是素数,则将其倍数标记为非素数,最后将素数存入数组b并打印。
阅读全文