首页 > 代码库 > Eratosthenes筛选法构造1-n 素数表
Eratosthenes筛选法构造1-n 素数表
筛选法:对于不超过n的每个非负整数p,删除2p,3p,4p...当处理完所有数之后,还没没删除的就是素数。
代码中进行了相应的优化。
1 #include<bits/stdc++.h> 2 using namespace std; 3 int vis[10000]; 4 int main() 5 { 6 int n; 7 while(scanf("%d",&n)) 8 { 9 //--------------10 int m=sqrt(n+0.5);11 memset(vis,0,sizeof(vis));12 for(int i=2; i<=m; i++)13 if(!vis[i])14 for(int j=i*i; j<=n; j+=i)15 vis[j]=1;16 //---------------17 for(int i=2; i<=n; i++)18 if(!vis[i])19 printf(" %d",i);20 }21 }
Eratosthenes筛选法构造1-n 素数表
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。