Python - 寻找第n个默尼森数
来源:互联网 发布:全国网络知识大赛 编辑:程序博客网 时间:2024/04/29 18:20
题目内容:找第n个默尼森数。P是素数且M也是素数,并且满足等式M=2**P-1,则称M为默尼森数。例如,P=5,M=2**P-1=31,5和31都是素数,因此31是默尼森数。
输入格式:用input()函数输入,注意如果Python 3中此函数的返回类型。
输出格式:int类型
输入样例:4
输出样例:127
时间限制:500ms内存限制:32000kb
思路:素数打表 + 枚举
AC代码:
# -*- coding:utf-8 -*- import mathdef prime(n): # 判断是否为素数 if n < 2: return False for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return Truedef monisen(maxn): '''''' # 素数打表 prime_dic = {} prime_list = [] n = 10000 for i in range(2, n + 1): prime_dic[i] = 1 for i in range(2, int(n ** .5) + 1): for j in range(i * i, n + 1, i): if prime_dic[i] == 1: prime_dic[j] = 0 for k, v in prime_dic.items(): if v == 1: prime_list.append(k) '''''' for i in prime_list: # 枚举2**prime-1到第maxn个 mon = 2 ** i - 1 if prime(mon): maxn = maxn - 1 if maxn <= 0: return mon print monisen(input())
1 0
- Python - 寻找第n个默尼森数
- Python:寻找第n个默尼森数
- Python寻找第N个默尼森数
- Python初学 寻找第n个默尼森数
- 寻找第n个默尼森数
- Python数据研究 寻找第N个默尼森数(2016/10)
- Python 寻找第n个尼尔森系数
- [.py]寻找第n个默尼森数(初级版)
- O(N)的时间寻找第K大数——Python
- 寻找第n大的元素
- O(n)寻找数列第K小
- Ugly Number II 寻找第N个丑数
- 【知识点】 ---寻找第n个素数
- HDU 1076寻找第N个闰年
- 剑指Offer---寻找第N个丑数
- python第n天
- 寻找一个序列中第n大的元素
- 【经典面试题】寻找单链表倒数第n个节点
- 【Python开发】Python 适合大数据量的处理吗?
- js 去除数组里的某一元素
- java操作hdfs文件、文件夹
- SecureCRT连接linux终端中文显示乱码解决办法
- 交易咖---谈心中的烦躁和不耐烦
- Python - 寻找第n个默尼森数
- Delphi 对象的创建(create)与释放(free/destory)
- TCP/IP的基本知识
- Python:正则表达式
- java到底如何才能学的透彻?
- FACEBOOK SURROUND360 源码解析 第一篇 源码环境搭建
- 你好,旧时光
- delphi 全局变量的定义与初始化赋值
- typedef使用的一些总结