#include<cstdio> #include<cstring> #include<cmath> using namespace std; bool a[10001]; int main() { memset(a,0,sizeof(a)); //先将所有数都默认为素数 int n; scanf("%d",&n); for(int i=2;i<=sqrt(n);++i) //我也不知为什么要开平方根,先记着吧 if(a[i]==false) //如果a[i]是素数,那么它的倍数一定不是素数 for(int j=i*2;j<=n;j+=i) //循环枚举a[i]的素数(技巧★★★) a[j]=true; for(int i=2;i<=n;++i) if(a[i]==false) printf("%-3d",i); }
找素数(筛法★★★)
猜你喜欢
转载自www.cnblogs.com/czy0130/p/9461451.html
今日推荐
周排行