首页 > 其他分享 >素数筛

素数筛

时间:2023-07-30 20:46:41浏览次数:24  
标签:cnt 埃氏 int 复杂度 素数 线性

  • 埃氏筛,时间复杂度o(n*log(log2n)),接近线性
1     for (int i = 2; i <= n / i; i++)
2         if (!pri[i])//若i未被筛掉则必定是质数
3             for (int j = i * i; j <= n; j += i)//枚举i的倍数必定是合数
4                 pri[j] = 1;
  • 欧拉筛(线性筛),时间复杂度o(n)
1     int cnt = 0;
2     for (int i = 2; i <= n; i++){
3         if (!pri[i])p[++cnt] = i;
4         for (int j = 1; j <= cnt && i * p[j] <= n; j++) {
5             pri[i * p[j]] = 1;//筛掉整数倍
6             if (i % p[j] == 0)break;//后面会在次出现,目前不用筛
7         }
8     }

 

标签:cnt,埃氏,int,复杂度,素数,线性
From: https://www.cnblogs.com/DLSQS-lkjh/p/17591960.html

相关文章

  • c语言之判断100-200内的素数
    intmain()//判断100-200内的素数{ //判断素数,即只能被1和他自身整除 //1.试除法 //假设13为素数,就拿2-12的数来试着整除,若可以那就不是素数,若不可以就是素数 //由此可知:如果2到i-1的数可以被i给整除,那么i就不是素数 inti=0; intcount=0; for(i=100;i<=200;i+......
  • 找出一个大于给定整数且紧随这个整数的素数
    intis_prime(intn){ inti=0; if(n<=1) return0; for(i=2;i*i<=n;i++) { if(n%i==0) { return0; } } return1;}intfun(intn){ inti=n+1; while(!is_prime(i)) { i++; } returni;}intmain(){ intn=0; scanf("%d",......
  • 显示前100个回文素数python
    回文素数的科普1.什么是回文数?回文数是指从左到右和从右到左读起来都一样的数。比如,121、12321等都是回文数。2.什么是素数?素数是指大于1且只能被1和自身整除的数。比如,2、3、5、7等都是素数。3.什么是回文素数?回文素数是同时满足回文数和素数的数。比如,131、373等都是回......
  • 100到200的素数
    #include<math.h>intmain(){ intcount=0; inti=0; for(i=101;i<=200;i+=2) { intj=1; intflag=1; for(j=2;j<sqrt(i);j++) { if(i%j==0) { flag=0; break; } } if(flag==1) { count++; printf("%d",i......
  • abc084d <素数筛 前缀和>
    题目D-2017-likeNumber思路筛出数据范围1e5范围内的素数检查每个素数是否为2017-like对1~1e5内的2017-like求前缀和,回答询问总结如果数据范围允许,进行预处理,查表回答询问代码Code//https://atcoder.jp/contests/abc084/tasks/abc084_d#include<iostre......
  • Miller_rabin 素数测试 学习笔记
    Miller_rabin素数测试一种用来判断素数的算法。前置芝士威尔逊定理若\(p\)为素数,\((p-1)!\equiv-1(\modp)\)。证明:充分性证明:如果\(p\)不是素数,那么他的因数必定存在于$1,2,3,\dots,p−1$之中,所以\(\gcd((p-1)!,p)\),那么\((p-1)!\not\equiv-1\)。必要性证......
  • HJ60 查找组成一个偶数最接近的两个素数
    1.题目读题HJ60 查找组成一个偶数最接近的两个素数  考查点 2.解法思路 代码逻辑 具体实现publicclassHJ60{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intn=sc.nextInt();getPrimeNu......
  • Miller_Rabin算法快速判断大数是否为素数
    Miller_Rabin算法快速判断大数是否为素数并不是绝对,这只是一种判断大概率为素数的方法首先根据费马小定理有:\(a^{p-1}=1\pmodp(a不为p的倍数且p不是素数)\)又因为\(p\)为素奇数,所以\(p-1\)为偶数,表示为\(p-1=2^dm\)所以有\(a^{p-1}-1=0\pmodp\)\(a^{2^dm}-1=0\pmodp\)\((......
  • 数据代码分享|R语言用CHAID决策树分析花卉栽培影响因素数据可视化、误差分析
    在植物学和农业科学领域,理解影响植物生长和花朵产生的因素对于提高生产效率和优化栽培方法具有重要意义。因此,对于一个包含多个变量的数据集进行全面的分析和可视化是非常有帮助的。本研究基于一个数据集,该数据集包含了花卉栽培过程中的多种变量,其中包括数值型变量(如花朵数量、......
  • CSS实现根据子元素数量应用不同样式
    在前端的页面布局中经常会出现在子元素个数使用不同的样式的需求,比如文章列表,在较少内容下单列表现,而在元素内容较多时使用双列表现。再比如在页面排版上,可以根据元素内容的多少来修改内容的缩放,位置,颜色等样式:has()选择器简介:has()选择器中的括号传递一个选择器参数,如果选......