完全数的求法(完全数算法)
2024-01-20 12:30:45
导读 大家好,小东方来为大家解答以上的问题。完全数的求法,完全数算法这个很多人还不知道,现在让我们一起来看看吧!1、大数学家欧拉曾推算出完...
大家好,小东方来为大家解答以上的问题。完全数的求法,完全数算法这个很多人还不知道,现在让我们一起来看看吧!
1、大数学家欧拉曾推算出完全数的获得公式:如果p是质数,且2^p-1也是质数,那么(2^p-1)*2^(p-1)便是一个完全数。
2、 当2^p-1是质数的时候,称其为梅森素数。
3、至今,人类只发现了47个梅森素数,也就是只发现了47个完全数。
4、 第20个对应p=4423,有1332位长。
5、大概的算法是这样:(a^k表示a的k次方,不是C/C++中的异或)1. 用筛法求10000以内素数;2. 对每个素数p,用miller-robin算法判定(2^p-1)是否为素数;2.1 若2^p-1为素数,计算出(2^p-1)*(2^(p-1))即为完全数。
6、这个范围的完全数共有26个, 需要实现高精度运算。
本文到此分享完毕,希望对大家有所帮助。
免责声明:本文由用户上传,如有侵权请联系删除!
猜你喜欢
- 01-20
- 01-20
- 01-20
- 01-20
- 01-20
- 01-20
- 01-20
- 01-20
最新文章
- 01-20
- 01-20
- 01-20
- 01-20
- 01-20
- 01-20
- 01-20
- 01-20