用Pyton玩转数据练习题---第二周

找前5个默尼森数。P是素数且M也是素数,并且满足等式M=2**P-1,则称M为默尼森数。例如,P=5,M=2**P-1=31,5和31都是素数,因此31是默尼森数。

 1 # coding:utf-8
 2 import math
 3
 4 def isPrime(n):
 5     if n != int(n) or n <= 1:
 6         return False                #确保n是正整数
 7     i = 2
 8     while i*i <= n:
 9         if n % i == 0:
10             return False
11         i += 1
12     return True
13
14 def judge_mns(n):
15         if isPrime(n) and isPrime(math.log(n + 1, 2)):
16             return True
17         return False
18
19 def get_mns(n):
20     if n != int(n) or n < 1:
21         return []
22     x = 2
23     mns_number = []
24     while True:
25         if judge_mns(x):
26             mns_number.append(x)
27         if len(mns_number) == n:
28             break
29         x += 1
30     return mns_number
31
32 print get_mns(5)

事实上一开始不明白怎么判断素数 蛤蛤蛤 在网上看了别人的弄了好久才明白。

时间: 2024-12-28 08:44:50

用Pyton玩转数据练习题---第二周的相关文章

20172323 2017-2018-2 《程序设计与数据结构》第二周学习总结

教材学习内容总结 本周主要学习了教材第二章的内容,相较于第一章而言,这一章的内容比较生僻,包括常量与变量.基本数据类型.交互式程序这几类概念都不太容易理解.不过在反复的阅读理解,以及完成课后练习题的过程中,我逐渐开始了解到了这些概念的意思.本周初步了解了数据与表达式的一些相关知识,收获颇丰,编程的能力也在逐渐提高. 教材学习中的问题和解决过程 问题1:SR2.33假设result是一个float型变量,value是一个int型变量.执行以下复制语句以后,变量value将是什么类型?为什么? re

《Machine Learning》系列学习笔记之第二周

第二周 第一部分 Multivariate Linear Regression Multiple Features Note: [7:25 - θT is a 1 by (n+1) matrix and not an (n+1) by 1 matrix] Linear regression with multiple variables is also known as "multivariate linear regression". We now introduce notatio

20145123刘森明《Java程序设计》第二周学习总结

教材学习内容总结 这一章学习的知识,在以前的C语言中已经学习过了.所以学起来比较的轻松.主要讲的就是数据与变量的类型和运算符:流程控制等知识点. 教材学习中的问题和解决过程 这周在Java上花费的时间较多.首先对于java语言中,虽然之前对于java的语言的语法有所了解,但是对于具体的细节还存在问题.对于输出函数System.out.printf()和Syetem.out.println()的区别,看书后得知Syetem.out.println()函数在编译后会换行,在第一章的“hello wo

20145229吴姗珊《Java程序设计》第二周学习总结

教材学习内容总结 一.类型.变量与运算符 1.类型 整数:可细分为short整数.int整数和long整数.不同长度的整数可储存的整数范围也不同. 字节:byte类型顾名思义.长度就是一字节,需要逐字节处理数据时则需要使用.用于整数时,可表示-128~127的整数. 浮点数:主要用来储存小数数值,主要分为float和double. 字符:char类型用来储存‘A','B','林'等字符符号. 布尔:boolean类型可表示true和false,分别表示真和假. 2.变量 基本规则:用关键词来声明

进度条--第二周

第二周 所花时间(包括上课) 27个小时 代码量(行) 600行 博客量(篇) 3篇 了解到的知识点 1.文件的输入输出流的复习2.重新复习数据结构中的栈,但是还是又不懂的地方,导致这次实验括号的功能没有加入.

Python学习之旅--第二周--元组、字符串、运算、字典

一.元组 另一种有序列表叫元组:tuple.tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字: # Author:Tim Gu tuple = ("Tim",'Jack','mike') 元组元素不可被修改,只读.不过有一种情况是内嵌列表的时候,列表内的元素可修改 # Author:Tim Gu tuple = ("Tim",'Jack','mike',['john','tom']) print(tuple) tuple[3

解题报告——2018级2016第二学期第二周作业

解题报告——2018级2016第二学期第二周作业 D:迷宫问题 题目描述: 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线. 输入 一个5 × 5的二维数组,表示一个迷宫.数据保证有唯一解. 输出 左上角到右

20145326《Java程序设计》第二周学习总结

20145326<Java程序设计>第二周学习总结 教材学习内容总结 本周学习教材第三章,本章主要讲述了java语言中的一些基础语法,java是个支持面向对象的程序语言,但在正式进入面向对象支持语法的探讨前,对于类型.变量.运算符.流程控制等,这些各种程序语言都会有的基本语法元素,还是要有一定的基础.虽然各种程序语言都有这些基本语法元素,但千万别因此而轻忽它们,因为各种程序语言都有其诞生的宗旨与演化过程,对这些基本语法元素,也就会有其独有的特性. 1. 类型 在java的世界中,并非每个东西都

SCRUM 12.09 软件工程第二周计划

第二轮迭代的第二周开始了,上一周我们进行了对代码优化的探索与自我审查. 本周,我们有以下两点目标要实现: 1.对客户端进行优化. 2.网络爬虫爬取美团外卖. 客户端优化主要开发人员:高雅智.牛强.彭林江.张明培育. 网络爬虫功能主要开发人员:王卓.郝倩. 具体分配如下表 成员 新任务 高雅智 注册登录收藏功能 图片控件优化 清除缓存功能 彭林江 搜索功能 意见反馈功能 牛强 下拉刷新控件优化 修改tittle 统计活跃用户 张明培育 美化界面服务端 进行相应的修改 王卓 郝倩 学习已成型的饿了么