设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2917|回复: 12
打印 上一主题 下一主题

[随意闲聊] 教你快速判素数

[复制链接]

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

跳转到指定楼层
1
发表于 2011-8-10 01:16:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
听完神犇的话后...
对干x<2^31-1我们有
x为素数当且仅当

a^x-1%x=1对a<21的正立整数成立
叫我是费马小定理
用二分快速幂,简单,有滋味。
哎呀,蛋疼什么的最有爱了

Lv1.梦旅人

万物创造者

梦石
0
星屑
54
在线时间
352 小时
注册时间
2008-2-15
帖子
2432
13
发表于 2011-8-11 07:13:12 | 只看该作者
话说有谁在NOI现场……?NOI铜牌求虐
From mortal hope immortal power springs.
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

12
发表于 2011-8-11 06:39:12 手机端发表。 | 只看该作者
本帖最后由 IamI 于 2011-8-11 06:40 编辑
苏小脉 发表于 2011-8-11 03:12 试试 399001 吧,一个 Carmichael 数。399001 = 31 x 61 x 211,你检查的 1~20 尽数与它互质,全都是 Ferm ...
OI竞赛,编辑满足题设要求的程序,限内存限时间,十组测试数据黑箱对比,结果正确给十分,超时不给分。他说的能过是指时间限制满足。
神牛=牛逼的人
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
11
发表于 2011-8-11 03:12:21 | 只看该作者
所以a从1~20可以使反例在2^31-1范围内不存在= =

试试 399001 吧,一个 Carmichael 数。399001 = 31 x 61 x 211,你检查的 1~20 尽数与它互质,全都是 Fermat liar。Fermat 素性测试通常都是每一步取伪随机的 Fermat base(也就是这里咱们提到的的 a),然后根据精确度的需求来决定迭代次数。

log6N是骗人的AKS常数硕大无比,效率爆差2999...999977这伙敢跑3分钟……

算法分析本来就和实现是两个层面的事物,有理想的算法,不一定有理想的实现。常量不会随数据复杂度增加而增加,你测小的数可能还没突破常量的界限,在测大数的时候 AKS 的优势就自然体现出来哉。

据说神犇用的都是Log10N的。
据说ZJ有牛人出过线性筛能过,没优化的不能过的素数题

不知所云 O_O
神犇 =?
ZJ =?
没优化的??不能过?

点评

神犇=神牛=程序设计强人,ZJ=浙江  发表于 2011-8-11 07:14
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

10
发表于 2011-8-10 15:47:59 | 只看该作者
理论性太强,表示无法理解……
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

9
 楼主| 发表于 2011-8-10 13:13:09 | 只看该作者

本帖最后由 yangff 于 2011-8-10 13:15 编辑
苏小脉 发表于 2011-8-10 03:53
Fermat 素性测试是非确定性的,它测的是拟素数,不是素数。从 Fermat 小定理的前件可以推出那个同余式,但 ...


所以a从1~20可以使反例在2^31-1范围内不存在= =|我记得是这样?至少OI是没问题了
---------------------------------------------------------------------------------------------------------------------------------
log6N是骗人的AKS常数硕大无比,效率爆差2999...999977这伙敢跑3分钟……
---------------------------------------------------------------------------------------------------------------------------------
据说神犇用的都是Log10N的。
---------------------------------------------------------------------------------------------------------------------------------
据说ZJ有牛人出过线性筛能过,没优化的不能过的素数题
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
55 小时
注册时间
2009-8-30
帖子
449
8
发表于 2011-8-10 11:33:24 | 只看该作者
那啥,你们在说啥……&素数是啥?

点评

质数(根本没解释吧喂  发表于 2011-8-10 11:52
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
7
发表于 2011-8-10 09:55:49 | 只看该作者
IamI 发表于 2011-8-10 09:05
这个费马小定理测出来的质数不是有反例的么……Matrix给出了2组“基本正确”的方法来着……
你信不信这货可 ...

那个不是二进制,是把 n 变为 n 个 "1" 串联后的字串 -v-

Miller–Rabin 素性测试原是非确定性的,后来在其基础上又演变出了确定性的变异版,只是算法依赖于至今仍未能证明或反证的  Riemann (黎曼)猜想。


苏小脉于2011-8-10 10:01补充以下内容:
SOU 发表于 2011-8-10 09:51
我记得素数的判断是只能用筛选法的吧? ...

通常在生成素数的列表的时候才用筛法,检测单个数的素性则另有多种(概率性的、确定性的)检测法,而不用把前面所有的素数都罗列出来。现今做研究的人找大质数通常都是用快速的概率性素性检测来找伪素数,然后再进行验证。

点评

SOU
原来如此,谢谢你=w=  发表于 2011-8-10 10:10
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
554 小时
注册时间
2007-6-25
帖子
1188
6
发表于 2011-8-10 09:51:02 | 只看该作者
←_←虽然不明白但是觉得好厉害啊
我记得素数的判断是只能用筛选法的吧?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

5
发表于 2011-8-10 09:05:18 | 只看该作者
本帖最后由 IamI 于 2011-8-10 09:15 编辑

这个费马小定理测出来的质数不是有反例的么……Matrix给出了2组“基本正确”的方法来着……
你信不信这货可以判定质数?
  1. /^1?$|^(11+?)\1+$/
复制代码
(先转二进制)
猛击我看上面这个诡异的正则原文
猛击我拆费马质数台
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-24 11:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表