python输出第n个默尼森数的实现示例
作者:VivianQiao93 发布时间:2022-08-12 21:07:25
标签:python,默尼森数
经典程序设计问题:找第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))
来源:https://blog.csdn.net/Viviancoder/article/details/104722776
0
投稿
猜你喜欢
- 假设我们有这样一种数据:data = [ ("apple&quo
- Python安装Graphviz画图器首先,要明确他是一个独立的软件,如果大家用pip的方法装了graphviz可以先卸载pip unins
- 直方图处理直方图从图像内部灰度级的角度对图像进行表述从直方图的角度对图像进行处理,可以达到增强图像显示效果的目的。直方图的含义直方图是图像内
- 本文实例讲述了python实现根据窗口标题调用窗口的方法。分享给大家供大家参考。具体分析如下:当你知道一个windows窗口的标题后,可以用
- 1.setting--version control--subversion,按照图中红色字体填入对应信息2.配置中途遇到没找到svn.ex
- 前言XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言,它最初是用来搜寻XML文档的
- 关于浏览器的最离奇的统计结果之一就是Internet Explorer 版本6,7和8共存。截至本文,Internet Explorer各个
- Python2.6 之前:字符串转换为整形和浮点型>>>import string>>>string.a
- 前言:之前的文章我们已经开启了爬虫程序的exe之旅,但是我们最终实现的程序存在一个非常大的问题,当进行网络请求的时候,程序卡死,直到数据请求
- Win10下python 2.7与python 3.7双环境安装教程,具体内容如下所示:1、python软件下载网址:https://www
- JS代码:function showFlash(src,w,h){ html&nbs
- 前言Tkinter(即 tk interface) 是 Python 标准 GUI 库,简称 “Tk&rdquo
- 1.字典的概念字典和列表类似,也是可变序列,不过和列表不同,它是无序的可变序列,保存的内容是以键值对(key:value)形式存放的 字典的
- 目录CMD命令获取电脑里配置过的wifi信息用python脚本来实现这一操作,并获取所有配置过的wifi密码CMD命令获取电脑里配置过的wi
- 网上存在这么一个例子 obj = pd.Series([7,-5,7,4,2,0,4])obj.rank()输出为:0 6.51
- 第一种方法: 代码如下:/* 创建链接服务器 */ exec sp_addlinkedserver 'srv_lnk
- 本文实例讲述了Python使用matplotlib实现的图像读取、切割裁剪功能。分享给大家供大家参考,具体如下:# -*- coding:u
- 将图片读入到Dom中,并将其存为xml文件1、需要命名空间using System.Text;using System.IO;using S
- 每个程序员都绝对必须知道的关于字符集和Unicode的那点儿事(别找借口!)Unicode与字符集你曾经是否觉得HTML中的"Co
- Aptana IDE现在已经被重命名为Aptana Studio,这款IDE的背后有着风险投资的支持,旨在给Web开发者