首页 > 其他分享 >素数相关

素数相关

时间:2022-08-21 15:13:41浏览次数:56  
标签:prime int 质数 因子 素数 相关 复杂度

  • 欧拉筛法
  • 用数组v[i]来记录这个数的最小质因子
  • 依次考虑2-n这些数
  • 如果v[i] = i,表示这个数为素数,把这个数存起来
  • 否则,扫描所有小于等于v[i]的素数,令v[ip] = p,表示ip这个数的最小质因子是p,被p给筛掉了,这样每个合数就只会被筛一次
点击查看代码
//时间复杂度为O(n)
int cnt= 0;
int prime[100010];
int v[100010];
for(int i = 2;i<= n;i++){
  if(V[i]==0){
  v[i] = i;
  prime[++cnt] = i;
  }//如果没被筛过,就是素数
  for(int j = 1;j<=cnt;j++){
  if(prime[j]>v[i]||i*prime[j]>n) break;
  //素数大于等于最小质因子或筛的数超出范围
  b[i*prime[j]] = prime[j];
  //筛取这个合数
  }
}

  • 素数的性质

    1.1~n范围内的素数个数大约为log(n)个
    2.素数的分布整体上来说随着数的增大而越来越稀疏,但存在局部的紧密。

  • 算数基本定理
    何一个大于1的自然数 ,如果N不为质数,都可以唯一分解成有限个质数的乘积 ,这里 image
    这里image均为质数,其诸指数image是正整数。
    由这个定理易得一个数的正因子个数:image
    全体正因子之和:image


-例题
给定两个整数L,R,求[L,R]内相邻两个质数的最大差值,(L,R<=2^31)(R-L<=1e6).
首先考虑打表,但2e9范围内的素数太多,数组存不下。然后我们考虑暴力去判断区间内的每一个数是否是素数,使用朴素做法,时间复杂度为O(n√n),无法承受。
考虑优化朴素做法,判断一个数是否为质数,实际上只需要判断这个数能否被小于等于√n的素数整除,而不需要把每一个数去枚举一遍,这样只要把小于等于√2e9的素数打一个表,这样复杂度就是O(n+nlogn),是可以承受的。

标签:prime,int,质数,因子,素数,相关,复杂度
From: https://www.cnblogs.com/wujw11world/p/16610032.html

相关文章

  • 11.垃圾回收相关算法
    目录11.1垃圾回收概述1.什么是垃圾2.为什么需要GC11.2垃圾回收相关算法1.标记阶段:引用计数算法2.标记阶段:可达性分析算法3.对象的finalization机制4.MAT与JProfiler的G......
  • 11.3 垃圾回收相关概念
    目录11.3.1System.gc()的理解11.3.2内存溢出与内存泄漏内存溢出(OOM)内存泄漏(MemoryLeak)11.3.3StopTheWorld11.3.4垃圾回收的并行与并发并发(Concurrent)并行(Parallel)并......
  • 容器部署相关背景知识
    一个Web应用的部署至少可以划分成以下三个发展阶段传统部署时代部署在物理机器上,但是不同应用所需要的环境不太一样。有可能因为一个应用需要升级SDK,导致另一个应用无......
  • 性感素数
    题目描述"性感素数"是指形如(p,p+6)这样的一对素数。之所以叫这个名字,是因为拉丁语管“六”叫“sex”(即英语的“性感”)。现给定一个整数,请你判断其是否为一个性感素数......
  • 【luogu P2508】圆上的整点(高斯素数模板)
    圆上的整点题目链接:luoguP2508题目大意给你一个圆,问你圆周上有多少个点的坐标是整点。思路考虑一个东西叫做高斯整数。其实它是复数,是\(a+bi\)中\(a,b\)都是整......
  • C语言指针与函数相关编程实例练习题
    指针也就是内存地址,指针变量是用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。本......
  • IDEA-2021.1.2版本的相关设置
    1.自动导包:File|Settings|Editor|General|AutoImport        2.忽略大小写设置:(去掉MathCase)          ......
  • 六、神经网络训练的相关指标参数
    1.学习率的设置2.训练集和验证集准确度通过查看训练集和验证集的准确度,也可以侧面反应出过拟合的情况,在训练集准确率和验证集准确率中间的空隙指明了模型过拟合的程度......
  • 【数据库】E-R图相关知识、绘制方法及工具推荐
    一、知识1、介绍E-R图也称实体-联系图(EntityRelationshipDiagram),提供了表示实体、属性和联系的方法,用来描述现实世界的概念模型。2、组成(1)实体(Entity)-矩形标识(2)属......
  • golang中GOPATH、GOROOT、GOBIN不生效等相关问题
    比较重要的三个配置:GOPATH、GOROOT、GOBINGOPATH:go项目开发的工程目录GOROOT:go安装所在的目录GOBIN:go项目编译完二进制程序目录不生效问题,其实应该好好检查是否......