题目大意:
给一个数p,若Mp = 2^p - 1是梅森素数,则输出"yes",否则输出"no"。
思路:
这道题p小于62。Mp就小于2^62-1。如果直接进行素数判别会比较慢,用筛法的话数据量
又会很大。所以这里用了Lucas-Lehmer判定法则。
Lucas-Lehmer判定法则具体步骤:
如果要判定的整数位Mp = 2^p - 1,则令Lucas序列Date[1] = 4,L(i) = (L(i-1)^2 - 2) % Mp,
如果Date[p-1] == 0的话,则该数Mp为梅森素数。特别的,...
分类:
其他好文 时间:
2015-02-21 23:29:47
阅读次数:
330
一.梅森素数素数有无穷多个,却只有极少量的素数能表示成2p-1(p为素数)的形式。在不大于257的素数中,当p=2、3、5、7、13、17、19、31、67、127、257时,2p-1是素数,其它都是合数。前面的7个数(即2、3、5、7、13、17、19)已被前人所证实,而后面的4个数(即31、67...
分类:
其他好文 时间:
2014-12-08 20:56:32
阅读次数:
238
题目:给你一个数k判断2^(k-1)*(2^k-1)是不是完全数(真因数之和和自身相等),不是判断k是不是素数。
分析:数论。欧拉证明了所有偶完全数都满足式子2^(k-1)*(2^k-1);其中2^k-1为素数时,上式为完全数。
满足2^k-1形式的素数叫梅森素数,这里打表计算50000内的素数判断2^k-1是不是素数即可。
(入股存在,超过50...
分类:
其他好文 时间:
2014-11-28 01:06:19
阅读次数:
201
题目链接:uva 1323 - Vivian's Problem
题目大意:给定N个数,然后为每个数添加一个幂ei,最后N项垒乘的结果为M,要是得M的所有因子的和可以写成2x,求x的最大值,如果没有条件满足,输出NO
解题思路:若一个数可以写成若干个不同的梅森素数的乘积,那么这个数的所以因子和可以写成2x.
232?1的范围内只有8个梅森素数,所以可以用状压处理。
梅森素数...
分类:
其他好文 时间:
2014-08-04 11:08:47
阅读次数:
234
今天主要是来研究梅森旋转算法,它是用来产生伪随机数的,实际上产生伪随机数的方法有非常多种,比方线性同余法,平方取中法等等。可是这些方法产生的随机数质量往往不是非常高,而今天介绍的梅森旋转算法能够产生高质量的伪随机数,而且效率高效,弥补了传统伪随机数生成器的不足。梅森旋转算法的最长周期取自一个梅森素数...
分类:
其他好文 时间:
2014-07-13 13:35:54
阅读次数:
687
今天主要是来研究梅森旋转算法,它是用来产生伪随机数的,实际上产生伪随机数的方法有很多种,比如线性同余法,
平方取中法等等。但是这些方法产生的随机数质量往往不是很高,而今天介绍的梅森旋转算法可以产生高质量的伪随
机数,并且效率高效,弥补了传统伪随机数生成器的不足。梅森旋转算法的最长周期取自一个梅森素数19937,由此
命名为梅森旋转算法。常见的两种为基于32位的MT19937-32和基于64位...
分类:
其他好文 时间:
2014-06-19 11:18:02
阅读次数:
531