首页 > 代码库 > 素数法
素数法
// 1 ~ 1000 素数 #include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<iostream>#include<cmath>#include<queue>using namespace std;bool shu[10000];void sushu1 (int n)//O(n*sqrt(n));{ bool flag; for(int i=2 ;i <= n ;i++) { flag = 0; for(int j=2;j<=sqrt(i);j++) if( i%j==0 ) { flag = 1; break;} if(!flag) cout<<i<<endl; } cout<<endl;}void sushu2(int n)//筛法O(nloglogn);{ int k = sqrt(n) + 1; memset(shu,1,sizeof(shu)); shu[1] = 0; for(int i=2;i<=k;i++) { int z = n / i + 1; for(int j=1;j<=z;j++) { shu[j*i]=0; } } for(int i=1;i<=n;i++) { if(shu[i]==1) cout<<i<<endl; }}int main(){ int n = 1000 ; sushu1(n); return 0;}
素数法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。