python输出第n个默尼森数的实现示例


Posted in Python onMarch 08, 2020

经典程序设计问题:找第n个默尼森数。P是素数且M也是素数,并且满足等式M=2P-1,则称M为默尼森数。例如,P=5,M=2P-1=31,5和31都是素数,因此31是默尼森数。(31是第3个默尼森数)

该程序的功能可以分为两部分设计:一是判断是否为素数,二是输出第n个Monisen数。

对于一来说,根据素数概念,只需要检测从2到其平方根是否有因子,若有则不为素数。对于二来说,循环计算M=2p-1并调用一的函数即可完成

from math import sqrt,pow
 
def prime(num):
  """检测num是不是质数"""
  k = sqrt(num)
  for i in range(2,int(k+1)):
    if num % i == 0:
      return False
  
  return True
 
def monisen(no):
  """找出第no个莫尼森数"""
  n = 0
  num = 2
  while n < no:
    m = pow(2,num) - 1
    if prime(num) == True and prime(m) == True:
      # 只有num和m都为质数时,n才会加一,即n是莫尼森数的序号
      n += 1
    num += 1
  return int(m),num-1
 
# 输出前五个莫尼森数M 以及对应的质数P
for i in range(1,6):
  print(monisen(i))

到此这篇关于python输出第n个默尼森数的实现示例的文章就介绍到这了,更多相关python 输出默尼森数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python用字典统计单词或汉字词个数示例
Apr 22 Python
Python字符串特性及常用字符串方法的简单笔记
Jan 04 Python
详解Python Socket网络编程
Jan 05 Python
flask使用session保存登录状态及拦截未登录请求代码
Jan 19 Python
Python 实现在文件中的每一行添加一个逗号
Apr 29 Python
详解windows python3.7安装numpy问题的解决方法
Aug 13 Python
Python打包方法Pyinstaller的使用
Oct 09 Python
python实现归并排序算法
Nov 22 Python
对python PLT中的image和skimage处理图片方法详解
Jan 10 Python
Python小白必备的8个最常用的内置函数(推荐)
Apr 03 Python
利用Selenium添加cookie实现自动登录的示例代码(fofa)
May 08 Python
pytorch DataLoader的num_workers参数与设置大小详解
May 28 Python
Tensorflow之梯度裁剪的实现示例
Mar 08 #Python
Django自定义全局403、404、500错误页面的示例代码
Mar 08 #Python
Django 自定义404 500等错误页面的实现
Mar 08 #Python
Python loguru日志库之高效输出控制台日志和日志记录
Mar 07 #Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
Mar 07 #Python
Django接收照片储存文件的实例代码
Mar 07 #Python
Python实现对adb命令封装
Mar 06 #Python
You might like
Cappuccino 卡布其诺咖啡之制作
2021/03/03 冲泡冲煮
ThinkPHP之N方法实例详解
2014/06/20 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
JavaScript 语言的递归编程
2010/05/18 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
基于jquery实现的类似百度搜索的输入框自动完成功能
2011/08/23 Javascript
jQuery插件实现屏蔽单个元素使用户无法点击
2013/04/12 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
关于JS Lodop打印插件打印Bootstrap样式错乱问题的解决方案
2016/12/23 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
vue 下列表侧滑操作实例代码详解
2018/07/24 Javascript
动态规划之矩阵连乘问题Python实现方法
2017/11/27 Python
python编程实现随机生成多个椭圆实例代码
2018/01/03 Python
使用python画个小猪佩奇的示例代码
2018/06/06 Python
对Python 3.2 迭代器的next函数实例讲解
2018/10/18 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
2019/03/11 Python
Python学习笔记之Break和Continue用法分析
2019/08/14 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
手工制作的意大利礼服鞋:Ace Marks
2018/12/15 全球购物
中科创达面试题
2016/12/28 面试题
挑战杯创业计划书的写作指南
2014/01/07 职场文书
高校教师思想汇报
2014/01/11 职场文书
社区文化建设方案
2014/05/02 职场文书
感恩老师的演讲稿
2014/05/06 职场文书
煤矿安全演讲稿
2014/05/09 职场文书
党支部书记四风问题整改措施
2014/09/24 职场文书
2014年留守儿童工作总结
2014/12/10 职场文书
廉政党课工作报告案例
2019/06/21 职场文书
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers