题解 | #筛选法求素数#
筛选法求素数
https://www.nowcoder.com/practice/06c3dcc303654ef4926654023eca1e5a
#include <iostream> using namespace std; int main() { int n; while(cin>>n){ int a[n+1]; int count=0; for(int i=0;i<=n;i++){ a[i]=i; } for(int i=2;i<=n;i++){ for(int j=i+1;j<=n;j++){ if(a[j]%i==0){ a[j]=0; } } } for(int i=2;i<=n;i++){ if(a[i]!=0)cout<<a[i]<<" "; else count++; } cout<<endl; cout<<count<<endl; } return 0; } // 64 位输出请用 printf("%lld")