题解 | 筛选法求素数
筛选法求素数
https://www.nowcoder.com/practice/06c3dcc303654ef4926654023eca1e5a
/*#include <stdio.h>
int main()
{
int n;
scanf_s("%d", &n);
int flag = 0,count=0;
for (int i = 2; i < n; i++)
{
for (int j = 1; j < i; j++)
{
flag = 0;
if (i % j != 0)
{
flag = 1;
break;
}
}
if (flag == 0)
{
count++;
}
}
printf("%d", count);
return 0;
}*/
#include<stdio.h>
#include<math.h>
int main() {
int n = 0;
int count = 0;
scanf("%d", &n);
int i, j = 0;
for (i = 2; i <= n; i++) {
for (j = 2; j < sqrt(i); j += 1) {
if (i % j == 0)
break;
}
if (j > sqrt(i)) {
printf("%d ", i);
count++;
}
}
printf("\n");
printf("%d", n - count - 1); //这边我也不懂哎
}