博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【数论】-素数问题整理
阅读量:4429 次
发布时间:2019-06-07

本文共 1704 字,大约阅读时间需要 5 分钟。

1.素数定理: π(x)~x/ln(x)

其中π(x)是不超过x的范围中素数的个数,当x非常大时,π(x)与x/ln(x)比较接近。

2.埃拉托色尼筛法

应用:可以快速找到[2, n]内所有的素数。操作步骤如下:

(1)输出最小的素数2,然后筛掉2的倍数

(2)输出最小的素数3,然后筛掉3的倍数

(3)输出最小的素数5,然后筛掉5的倍数

继续以上步骤,直到操作到n

例题:hdu 2710

#include 
#include
using namespace std;const int N=2e4+5;int nprime[N],cnt=0;void table(){ nprime[1]=1; for(int i=2;i
>t){ int maxx=0,ans; while(t--){ int n; cin>>n; if(nprime[n]>maxx)maxx=nprime[n],ans=n; } cout<
<
View Code

 

3.算术基本定理

(1)若n的标准素因子分解表达式为n=p1a1*p2a2*...*pkak,设d(n)为n的正因子个数,f(n)为n的所有因子之和,则有

d(n)=(a1+1)*(a2+1)*...*(ak+1)

f(n)=(p1a1+1-1/p1-1)*(p2a2+1-1/p2-1)*..*(pkak+1-1/pk-1)

(2)n!的素因子分解中的素数p的幂为[n/p]+[n/p2]+[n/p3]+...

 

4.梅森素数

定义:Mp=2p-1,当p为素数,且Mp为素数,则称Mp为梅森素数

当p为第几个素数,则称Mp为第几个梅森数

判定:

Lucas-Lehmer判定法:判定一个梅森数是否是梅森素数

设p是素数,第p个梅森数为Mp为2p-1,r1 = 4,对于k >= 2

r(k) = r(k-1)^2-2(modM(p)), 0 <= r(k) <= M(p)

可以得到r(k)序列,则有M(p)是素数,当且仅当r(p-1) = 0(mod M(p))

涉及知识:

卢卡斯-莱默检验法原理

假设我们想验证M
3 = 7是素数。我们从
s=4开始,并更新3−2=1次,把所有的得数模7:
  • s ← ((4 × 4) − 2) mod 7 = 0
由于我们最终得到了一个能被7整除的
s,因此M3是素数。
另一方面,M11 = 2047 = 23 × 89就不是素数。我们仍然从
s=4开始,并更新11−2=9次,把所有的得数模2047:
  • s ← ((4 × 4) − 2) mod 2047 = 14
  • s ← ((14 × 14) − 2) mod 2047 = 194
  • s ← ((194 × 194) − 2) mod 2047 = 788
  • s ← ((788 × 788) − 2) mod 2047 = 701
  • s ← ((701 × 701) − 2) mod 2047 = 119
  • s ← ((119 × 119) − 2) mod 2047 = 1877
  • s ← ((1877 × 1877) − 2) mod 2047 = 240
  • s ← ((240 × 240) − 2) mod 2047 = 282
  • s ← ((282 × 282) − 2) mod 2047 = 1736
由于
s最终仍未能被2047整除,因此M11=2047不是素数。但是,我们从这个检验法仍然无法知道2047的因子,只知道它的卢卡斯-莱默余数1736。
思路:输入p,先求出2
p-1,循环求r(k) = (r(k-1)
2-2)%M
p

转载于:https://www.cnblogs.com/xyfs99/p/11552354.html

你可能感兴趣的文章
跨域,json与jsonp格式
查看>>
java应用高内存占用
查看>>
配置Vm box虚拟机
查看>>
消除文法中一切左递归算法
查看>>
利用velocity模板以及itext生成pdf
查看>>
干货 | 国内互联网公司是如何做微服务实践的?(附PPT下载)
查看>>
java多线程
查看>>
uva10088格点多边形
查看>>
POJ 1057 File Mapping 最详细的解题报告
查看>>
slor6.6 在linux下的安装以及启动失败解决办法
查看>>
echarts图例(legend)
查看>>
firebug中html显示为灰色的原因总结
查看>>
支持常见数据库差异对照说明
查看>>
作用域
查看>>
第四次随笔作业
查看>>
poj 3469 Dual Core CPU 最小割
查看>>
Javascript绝句欣赏
查看>>
(Reprint)Pessimistically or Optimistically Lock in Sql Server 2005
查看>>
zoj 1962 How Many Fibs?(字符串化为数字处理)
查看>>
[NOIP2018模拟赛10.19]只会暴力报告
查看>>