void Prime(int n)
{
int* arr = (int*)malloc(n * sizeof(int));//创建动态内存
int f = 1;
for (int i = 0; i < n; i++)
{
arr[i] = f;
f++;
}//赋值
for (int j = 2; j < n; j++)
{
for (int k = j + 1; k < n; k++)
{
if (arr[k] % j == 0)
{
arr[k] -= arr[k];
}
}
}//将所有的不是素数的值减为0
arr[0] = 0;
for (int i = 0; i < n; i++)
{
if (arr[i] != 0)
{
printf("%d\n", arr[i]);
}
}//输出所有不是0的数就是素数
free(arr);
}
int main()
{
int x;
scanf_s("%d",&x);
Prime(x);
return 0;
}
用筛选法求 n 以内的素数
最新推荐文章于 2022-07-08 11:37:30 发布