用筛选法求100以内的素数c语言
时间: 2024-01-06 18:03:24 浏览: 112
以下是用筛选法求100以内的素数的C语言代码:
```c
#include <stdio.h>
#define N 100
int main()
{
int i, j, a[N + 1];
for (i = 2; i <= N; i++) {
a[i] = 1;
}
for (i = 2; i <= N; i++) {
if (a[i]) {
for (j = i; i * j <= N; j++) {
a[i * j] = 0;
}
}
}
for (i = 2; i <= N; i++) {
if (a[i]) {
printf("%d ", i);
}
}
return 0;
}
```
相关问题
用筛选法求100以内的素数。 c语言
好的,以下是用C语言实现的筛选法求100以内的素数的代码:
```c
#include <stdio.h>
int main()
{
int i, j;
int prime[101]; // 用来存放素数的数组
for (i = 2; i <= 100; i++) // 初始化数组
prime[i] = 1;
for (i = 2; i <= 100; i++) // 筛选法求素数
{
if (prime[i] == 1)
{
for (j = i + 1; j <= 100; j++)
{
if (j % i == 0)
prime[j] = 0;
}
}
}
printf("100以内的素数有:\n");
for (i = 2; i <= 100; i++) // 输出素数
{
if (prime[i] == 1)
printf("%d ", i);
}
printf("\n");
return 0;
}
```
这段代码中,我们首先初始化一个长度为101的数组prime,用来存放从2到100的素数。然后,我们从2开始,依次遍历到100,如果当前的数是素数,则把它的倍数在数组中标记为非素数。最后,我们再次遍历数组,输出所有标记为素数的数即可。
希望这个代码能够帮到你!
C语言用筛选法求100以内的素数
以下是用C语言实现筛选法求100以内的素数的代码:
#include <stdio.h>
int main()
{
int prime[101] = {0}; // 用于标记是否为素数,0表示是素数
int i, j;
for (i = 2; i <= 100; i++) {
if (prime[i] == 0) { // 如果i是素数
printf("%d ", i); // 输出i
for (j = i * i; j <= 100; j += i) {
prime[j] = 1; // 标记i的倍数不是素数
}
}
}
return 0;
}
输出结果为:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
希望能对您有所帮助!
阅读全文