请给出素数筛的C语言代码
时间: 2023-05-21 08:02:44 浏览: 111
素数判断的C代码
以下是素数筛的C语言代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, i, j;
printf("请输入一个正整数n:");
scanf("%d", &n);
int *prime = (int*)malloc(sizeof(int) * (n + 1));
for (i = 2; i <= n; i++)
{
prime[i] = 1;
}
for (i = 2; i * i <= n; i++)
{
if (prime[i])
{
for (j = i * i; j <= n; j += i)
{
prime[j] = 0;
}
}
}
printf("2~%d之间的素数有:\n", n);
for (i = 2; i <= n; i++)
{
if (prime[i])
{
printf("%d ", i);
}
}
printf("\n");
free(prime);
return 0;
}
注意:这只是一个简单的素数筛实现,可能存在效率问题,更高效的算法可以参考其他资料。
阅读全文