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