C\C++ 埃氏筛法

 1 埃氏筛法的基本思想 :从2开始,将每个质数的倍数都标记成合数,以达到筛选素数的目的。

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 const int maxn = 1000;
 4 int visit[maxn];  
 5 void Prime(int n)
 6 {          
 7     visit[0] = visit[1] = 1;  //0,1不是素数
 8     for (int i = 2; i <= n; i++) {
 9         if (!visit[i]) {         //如果i是素数,i的倍数都不是素数
10             for (int j = i*i; j <= n; j += i) 
11             { 
12                 visit[j] = 1;
13             }
14         }
15     }
16 }
17 int main()
18 {
19     int n;
20     cin>>n;
21     Prime(n);
22     for(int i = 1; i <= n; i++ )
23     {
24         if(!visit[i])
25         cout<<i<<endl;
26     }
27     return 0;
28 }
复制代码

 

posted @   芜湖大厨师  阅读(446)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示