题解 | #筛选法求素数#
筛选法求素数
https://www.nowcoder.com/practice/06c3dcc303654ef4926654023eca1e5a
#include <stdio.h>
int main()
{
int n = 0;
while (scanf("%d", &n) != EOF)
{
int arr[100];
int i, j, count = 0;
int k = 2;
for (i = 0; i < n - 1; i++)
{
arr[i] = k;
k++;
}
for (i = 2; i <= n; i++)
{
for (j = 0; j < n - 1; j++)
{
if (arr[j] > i && arr[j] % i == 0)
{
arr[j] = 0;
count++;
}
}
}
for (i = 0; i < n - 1; i++)
{
if (arr[i] != 0)
{
printf("%d ", arr[i]);
}
}
printf("\n%d", count);
}
return 0;
}

查看30道真题和解析