#include <bits/stdc++.h>
using namespace std;
const int N = 1e6+5;
bool st[N];
int cnt;
int primes[N];
void get_primes(int n){ // O(nlogn) 朴素筛法
	for(int i = 2; i <= n; ++i){
		if(!st[i]){            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-04-21 11:34:01
                            
                                186阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            1. Eratosthenes筛法(埃氏筛)流程:对于每一个质数\(p\),标注出范围内所有\(p\)的倍数为合数,剩下的就是质数。int cnt, prm[MAX], v[MAX];void Eratosthenes(){for (int i = 2; i <= N; i++)if (!v[i]) {//如果未被标记,则是质数prm[++cnt] = i;for (int j = 2; i            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-04 12:47:00
                            
                                132阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            素数筛法(普通、朴素筛法、埃式筛法、欧拉筛法)1.题目2.分析3.代码传统普通朴素筛法埃式筛法欧拉筛法(线性筛)4.总结5.更新日志1.题目题目链接题目描述**输入一个自然数            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-05-10 23:10:37
                            
                                573阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             
 发个爽文引流一下 
 文章目录QuestionIdeasCode
Question给定一个正整数 n,请你求出 1∼n 中质数的个数。输入格式 共一行,包含整数 n。输出格式 共一行,包含一个整数,表示 1∼n 中质数的个数。数据范围 1≤n≤106 输入样例: 8 输出样例: 4
Ideas三种方法,再学不会来打我
CodeN = int(1e6+10)primes            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-01 13:27:55
                            
                                45阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            从前有一个素数筛法叫埃拉托斯特尼筛法,它的思想很简单,把1-n以内素数的整数倍的数字划掉,留下的就全是素数,但是它的复杂度是O(NlglgN),对于大量不友好数据会跪,于是线性晒登场了。 #include <cstring> using namespace std; int prime[110000 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-10-21 16:20:00
                            
                                513阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            生活艰难,遇到事情,无论是激动也好,伤心也好,都应当有一份坚定的信念,勇往直前,风雨之后总会有彩虹。    我们应该庆幸自己生在这个年代,曾听父母讲起过他们的那一辈,每天为生活奔波,吃不饱,穿不暖,尤其最深的记忆的母亲给我讲起过她小时候,只上过几天的学,然后回家帮着做农活,6、7岁已经扛起了大人们应该履行的职责,每每听到这,总会感到心酸,有记得自己小时候也有挨过饿的时候,那是92年的时候,中国大部分地区中有部分还没有解决温饱,很不幸我们那边就是,这个时候,做的饭大部分父母都让给我...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-29 09:57:47
                            
                                163阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            素数筛,其实是将合数给筛掉的一个过程。求某个大小范围内的素数个数,是用到素数筛的最最基础的问题。本文中介绍了判断单个数是否为素数的方法与埃氏筛法、欧拉筛法两种素数筛。 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-13 21:39:00
                            
                                2421阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            埃拉托斯特尼素数筛其主要原理就是从2开始如果一个数时素数,那么这个素数乘任何正整数一定是合数。这里用一个标记数组记录某一个数是不是素数。int flag[100005]={1,1};memset(flag, 0, sizeof(flag));for(int i=2; i<=sqrt(100005); i++)	if(flag[i]==0)    	for(int j=2; i*...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-06-17 13:33:04
                            
                                56阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            题目链接:https://www.acwing.com/problem/content/description/870/时/空限制:1s / 64MB题目描述给定一个正整数n,请你求出1~n中质数的个数。输入格式共一行,包含整数n。输出格式共一行,包含一个整数,表示1~n中质数的个数。数据范围1≤n≤10^6输入样例8输出样例4解题...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-02-03 14:16:15
                            
                                151阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            【代码】素数筛法——欧拉筛。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-27 02:15:30
                            
                                202阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            题目链接:https://www.acwing.com/problem/content/description/870/时/空限制:1s / 64MB题目描述给定一个正整数n,请你求出1~n中质数的个数。输入格式共一行,包含整数n。输出格式共一行,包含一个整数,表示1~n中质数的个数。数据范围1≤n≤10^6输入样例8输出样例4解题...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-13 16:28:02
                            
                                273阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            #include<bits/stdc++.h>using namespace std;#define maxn 200005bool check[max            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-04-24 21:31:24
                            
                                80阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            bool ispri...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-11-02 15:04:23
                            
                                154阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            用筛法求素数的基本思想是:把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。依次类推,直到筛子为空时结束。 第一种:普通筛法。时间复杂度是O(nlogn),不足之处在于一个合数可能被筛选多次。void Prime ()//n是个数,标记为1则不是素数{	memset(tag,0,sizeof(tag)...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-13 15:53:14
                            
                                189阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            埃拉托斯特尼筛法(sieve of Eratosthenes ) 是古希腊数学家埃拉托斯特尼发明的计算素数的方法。对于求解不大于 n 的所有素数,我们先找出 sqrt(n) 内的 所有素数p1到pk ,其中 k = sqrt(n) ,依次剔除 Pi 的倍数,剩下的所有数都是素数。 具体操作如上述 图            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-05-08 21:25:00
                            
                                102阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            筛素数较为普遍的有两种,一般筛和线性筛,众所周知,线性筛要快那么一点。 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-24 11:18:00
                            
                                90阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            我就是我,一辈子都学不会线性筛的菜鸡 一篇非常好的博客            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-11-05 09:02:00
                            
                                126阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            ###朴素筛法 不管是素数还是合数,都用来筛其后面的倍数 ###埃氏筛法 只使用素数的倍数可以把所有合数筛掉 ###线性筛法 用最小质因子就可以把所有合数筛掉 给定一个正整数 n,请你求出 1∼n 中质数的个数。 输入格式 共一行,包含整数 n。 输出格式 共一行,包含一个整数,表示 1∼n 中质数 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-10-12 14:47:00
                            
                                138阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            用筛法求素数的基本思想是:把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。依次类推,直到筛子为空时结束。 第一种:普通筛法。时间复杂度是O(nlogn),不足之处在于一个合数可能被筛选多次。void Prime ()//n是个数,标记为1则不是素数{	memset(tag,0,sizeof(tag)...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-10 16:25:55
                            
                                104阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一种O(n)求质数的算法这个算法的精髓是每个 合数 只会被自己的 最小质因子 筛 一次看看代码理解void pre(int n){  for(int i=2;i<=n;i++){    if(isp[i]==0){//是质数      prim[++cnt]=i;//质数       p[i]=i; //最大质因子,质数的最大质因子是它本身            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-05 10:17:24
                            
                                84阅读