我们cryptography里讲到的primality test
登录 | 论坛导航 -> 华新鲜事 -> 社会百科 | 本帖共有 2 楼,分 1 页, 当前显示第 1 页 : 本帖树形列表 : 刷新 : 返回上一页
<<始页  [1]  末页>>
作者:请走人行道 (等级:6 - 驾轻就熟,发帖:4736) 发表:2003-04-26 11:58:44  楼主  关注此帖评分:
质数算法有谁记得cs1102讲过的质数算法, 用加减算的。 还有, 有什么方法算出一个任意大的质数嘛? 怎么样验算一个任意大的数是不是质数, 而不受硬件限制。 (eg, 在pc上验算一个大于2^62的数) 我好像可以算出任意大的质数了, 只是没法验算~_~
我们cryptography里讲到的primality test
只是讲了一个theorem,
if there exist solutions to ( x^2 = 1 mod p ) other than +1 or -1, then p is not a prime
具体怎么实现就没说
Put your OWN COOL signature here!
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:请走人行道 (等级:6 - 驾轻就熟,发帖:4736) 发表:2003-04-26 19:37:40  2楼
关于验证质数学CS1101S的时候,讲过两种testing的方法,一种是loop寻找n的smalleset divisors,时间是O(√n),另一种是费马小定理的逆命题来验证(Fermat's test)。 费马小定理是说:对于任何一个质数p,和一个小于p的正整数a,a^(p-1)≡1(mod p)。用这个定理的逆命题来验证n是不是质数,算法是随机取几个a,如果a^(p-1)≡1(mod p)都成立,测试就通过了。尽管Fermat's test的时间是O(logn),非常之快,但这个测试只能说明n很有可能是个质数,这是因为有些和数像561,1105也能顺利通过测试。所以这个Fermat test不能保证准确性。 (其上详情见CS1101S教材:http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-11.html#%_sec_1.2.6) 据我所知,验证一个N-digit的整数(注意是N-digit)是不是质数是一个NP问题,也就是说,目前还没人能找到一个polynomial时间的算法(比如O(N^2)之类),如果真有那么一个算法,那P=NP问题就解决啦~ 整个科学界都会为之震惊;)
几年前复旦一个教授(不是计算机系的)声称解决了
P=NP问题,让远到美国的牛人都激动不已,结果他的证法是错误的,而且还不认错,哈哈
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
论坛导航 -> 华新鲜事 -> 社会百科 | 返回上一页 | 本主题共有 2 篇文章,分 1 页, 当前显示第 1 页 | 回到顶部
<<始页  [1]  末页>>

请登录后回复:帐号   密码