//将一个大小为n的数组a置为1,枚举n以内的每个数, 将以其倍数为下标的位置置为0,最终a数组内为1的位 置下标为质数,正确性由质数的定义可知。
#include<bits/stdc++.h> using namespace std; bool a[100000]; int main() { long long n; long t=0; cin>>n; for(int i=1;i<=n;i++) { a[i]=true; a[1]=false; } for(int i=2;i<=n;i++) { for(int j=i*2;j<=n;j+=i) a[j]=false; } for(int i=2;i<=n;i++) if(a[i]==true) { cout<<i<<" "; t++; if(t==10){ cout<<endl; t=0; } } }

 

posted on 2022-09-25 12:25  ljq0120  阅读(22)  评论(0编辑  收藏  举报