这篇文章将要介绍梅森素数的定义以及在Python中实现的方法。

一、梅森素数

梅森数(Mn)指的是形如2n - 1的正整数,其中指数 n 是素数。

如果一个梅森数是素数,则称其为梅森素数。例如22-1=3、23-1=7都是梅森素数。

当n=2,3,5,7时,Mn都是素数,但n = 11时,Mn = M11 = 211 - 1 = 2047 = 23 × 89,显然 M11 不是梅森素数。

目前仅发现 51 个梅森素数,最大的是 M82589933 (即2的82589933次方减1),有24862048位。

梅森素数历来都是数论研究中的一项重要内容,也是当今科学探索中的热点和难点问题。

(以上来自 @潘石屹 微博话题 #潘石屹用Python解决100个问题#)

二、在Python中的实现方法

以下是实现求指数 n < 20 以内的所有梅森素数的源代码。

import math

# 定义判断一个数是否为素数的函数

def

isprime(num):

tmp = int(math.sqrt(num))

for

i

in

range(2, tmp + 1):

if

num % i == 0:

return

False

return

True

N = 20  # 定义指数n的最大值

for

n

in

range(2

python穷举法求素数_使用Python求指数为20以内的所有梅森素数相关推荐

  1. python穷举法_python 穷举指定长度的密码例子

    本程序可根据给定的字符字典,穷举指定长度的所有字符串: def get_pwd(str, num): if(num == 1): for x in str: yield x else: for x i ...

  2. python穷举法列举_穷举法应用举例.doc

    无 止 境 穷举法应用举例 在数学问题中, 有一些需要计算总数或种类的趣题, 因其数量关系比较隐蔽, 很难找到"正统"的方式解答,让人感到无从下手.对此,我们可以先初步估计 其数目 ...

  3. java穷举法解方程_枚举法(穷举法)_Java语言程

    枚举法(穷举法)_Java语言程 3.5.1 枚举法(穷举法) 枚举法就是把所有可能的情况一一测试,筛选出符合条件的各种结果进行输出. [例3-20] 百元买百鸡:用一百元钱买一百只鸡.已知公鸡5元/ ...

  4. 用python穷举法判断素数_Python如何判断素数

    判断一个给定的正整数是否素数 输入格式: 输入在第一行给出一个正整数n(≤ 10),随后n行,每行给出一个小于1000000 的需要判断的正整数 输出格式: 对每个需要判断的正整数,如果它是素数,则在 ...

  5. python穷举法搬砖_python 穷举法 算24点(史上最简短代码)-阿里云开发者社区

    # 作者:hhh5460 # 时间:2017年6月3日 import itertools deftwentyfour(cards): '''史上最短计算24点代码''' for nums in ite ...

  6. python嵌套列表法实现树_在python中创建递归迭代嵌套列表的“数据树”路径

    我正在尝试创建一个"路径"列表,该列表中的每个项目都有.例如输入列表:_list = [[x,x,x], [[x,x,x],[x,x,x]], [x,x,x]] 期望输出: ^{p ...

  7. java 穷举法求水仙花数_常用算法-穷举法

    穷举法又称为枚举法,它是在计算机算法设计中用得最多的一种编程思想.它的实现方式是:在已知答案范围的情况下,依次地枚举该范围内所有的取值,并对每个取值进行考查,确定是否满足条件.经过循环遍历之后,筛选出 ...

  8. 求100以内素数的方法(筛选法,穷举法,穷举法优化)

    一.基本思想 //质数(素数)是指在大于1的自然数中除了1和它本身以外不再有其他因数的自然数. (1)判断一个数n是不是素数,可以用2到(int)sqrt(n)之间的所有整数去除n,看能否整除,如果都 ...

  9. python求两个数的最大公约数穷举法_C++求最大公约数四种方法解析

    C++求最大公约数的四种方法思路,供大家参考,具体内容如下 将最近学的求最大公约数的四种方法总结如下: 第一种:穷举法之一 解释:拿其中一个数出来,用一个临时变量(tem)保存,每次都把那两个数除以这 ...

最新文章

  1. Excel常用公式记录
  2. ps作业素材和成品_看完俄罗斯这位PS大神的P图!分分钟感觉自己被秒杀!
  3. 微信小程序页面间通信的5种方式
  4. zabbix 中 mysql.sock 丢失问题
  5. 如何科学的打开 Leetcode
  6. 如何使用代码给product创建distribution chain
  7. springboot-21-maven多环境打包
  8. 博客园jquery专题
  9. python字符串format格式化
  10. 算法学习--二叉查找树
  11. Windows Workflow Foundation 培训资源
  12. 使用csscan评测字符集改变
  13. 全球100ai顶尖科学家_如何为顶尖学校学习AI撰写成功的目标陈述
  14. 【苹果iMessage家庭推送】软件安装群发推送通过HealthKit API访问NikeFuel
  15. 基础 | 管理视图、序列、同义词
  16. idea社区版本下载
  17. Linux下彻底删除oracle
  18. 月薪过万的运维工程师都要会干什么
  19. Persist Security Info
  20. Virtualbox 学习 — network setting

热门文章

  1. 智能汽车安全研究:风险点、破解案例、研究工具
  2. 云压广告怎么彻底删除_彻底删除微信记录有哪些方法,听听专业人士怎么说!...
  3. 约瑟夫环问题(基督教徒问题)python
  4. 2019年如何利用自媒体的轻松赚钱,教你一招!
  5. 深度了解下 天线的原理和作用
  6. 系统检测到在一个调用中尝试使用指针参数时的无效指针地址
  7. 巨人肩上的矮企鹅:QQ旋风为什么抄袭迅雷
  8. redhat linux 7.1安装教程,redhat7.1安装过程中怎么分区?
  9. hbase 基本语法
  10. 详解DC、CDC、HDC、句柄、设备上下文