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