来自projecteuler.net网站的练习题1
0.题目如下:
By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.
What is the 10 001st prime number?
1.先理解什么是素数:
质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数。
2.怎么判断是否是素数:
方法一:在一般领域,对正整数n,如果用2到 之间的所有整数去除,均无法整除,则n为质数。
方法二:1.解释一下代码第29行,在6的倍数两侧可能存在着素数,如:
2 3 5 (6) 7 11 (12) 13 17 (18) 19 23 (24) 29 (30) 31 (36) 37 ......
注意:在6的倍数两侧只是可能存在素数,不在6的倍数两侧就一定不是素数。
2.方法二剩下的代码就是孪生素数的问题,自行百度吧
3.顺带提一下,最高效的办法是方法二。可以自行测试。
- import time
- #sqrt是开方
- from math import sqrt
- def check1(prime):
- if prime == 1:
- return False
- for i in range(2, int(sqrt(prime)) + 1):
- if prime % i == 0:#能被除尽就不是素数
- return False
- return True
- #main1
- # 在一般领域,对正整数n,如果用2到 之间的所有整数去除,均无法整除,则n为质数。
- def main1(num):
- prime = 0
- x = 0
- while x < num:
- prime += 1
- if check1(prime):
- x += 1
- return prime
- def check2(prime):
- i = 5
- if prime == 2 or prime == 3:
- return True
- if prime % 6 != 1 and prime % 6 != 5:
- return False
- while i <= sqrt(prime):
- if prime % i == 0 or prime % (i + 2) == 0:#孪生素数 自行百度
- return False
- i += 6
- return True
- #main2参考链接
- #http://blog.csdn.net/huang_miao_xin/article/details/51331710
- def main2(num):
- prime = 1
- x = 0
- while x < num:
- prime += 1
- if check2(prime):
- x += 1
- return prime
- if __name__ == '__main__':
- #给出两种解决的方法
- start_time1 = time.time()
- print(main1(10001))
- print(time.time() - start_time1)
- start_time2 = time.time()
- print(main2(10001))
- print(time.time() - start_time2)
来自projecteuler.net网站的练习题1的更多相关文章
- 来自projecteuler.net网站的练习题2
0.题目如下: Each new term in the Fibonacci sequence is generated by adding the previous two terms. By st ...
- [翻译]How to Find a Solution ( 如何找到问题的答案,来自Top Coder 网站)
原文链接: https://www.topcoder.com/community/data-science/data-science-tutorials/how-to-find-a-solution/ ...
- struts2集成fckeditor(来自大型门户网站是这样练成的一书)
- [译]MVC网站教程(二):异常管理
介绍 “MVC网站教程”系列的目的是教你如何使用 ASP.NET MVC 创建一个基本的.可扩展的网站. 1) MVC网站教程(一):多语言网站框架 2) MVC网站教程(二):异常管理 3) ...
- 关注经典:CSS Awards 获奖网站作品赏析《第一季》
每天都有很多新的网站推出,其中不乏一些设计极其优秀的作品.这个系列的文章,我为大家挑选了2012年赢得 CSS Awards 大奖的50个最佳网站.这些鼓舞人心的网站作品代表了网页设计的最高水平,相信 ...
- 经典算法和OJ网站(开发者必备-转)
一. Online Judge简介: Online Judge系统(简称OJ)是一个在线的判题系统.用户可以在线提交程序多种程序(如C.C++.Pascal)源代码,系统对源代码进行编译和执行,并通过 ...
- 精通Web Analytics 2.0 (3) 第一章:网站分析的新奇世界
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第一章:Web Analytics 2.0的新奇世界 多年以来,我们很清楚的知道,网站分析能够真正的改革网络上业务的完成方式.那 ...
- l来自wentao:项目加入缓存(redis),实时调试时用 -----可视化缓存,flushdb
下文来自segmentfault,网站:一个交流网站:https://segmentfault.com/ 在做一个项目时如果加入缓存(例如redis),我如何进行实时调试呢? 缓存 高并发 架构 gz ...
- 如何防止ASP.NET网站遭受CSRF的攻击
转载地址: http://www.cnblogs.com/shanyou/p/5038794.html?hmsr=toutiao.io&utm_medium=toutiao.io&ut ...
随机推荐
- java版飞机大战 实战项目详细步骤.md
[toc] 分析 飞机大战 首先对这个游戏分析,在屏幕上的物体都是飞行物,我们可以把建一个类,让其他飞行物继承这个类.游戏中应有英雄机(也就是自己控制的飞机).敌人.而敌人应该分为打死给分的飞机(就是 ...
- MySQL 参数autoReconnect=true 解决8小时连接失效(转)
即使在创建Mysql时url中加入了autoReconnect=true参数,一但这个连接两次访问数据库的时间超出了服务器端wait_timeout的时间限制,还是会CommunicationsExc ...
- 【Mybatis】配置文件加载属性
Mybatis将按照下面的顺序来加载属性: 1.在properties文本定义的属性首先被读取, 2.然后读取Mybatis的配置文件sqlConfig.xml配置文件中properties标签属性 ...
- codeforces 466d Increase Sequence
D. Increase Sequence time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Ubuntu 环境 samba的安装&配置
一.samba的安装: sudo apt-get install samba sudo apt-get install smbfs sudo apt-get install cifs-utils (新 ...
- HTML图像
HTML 图像- 图像标签( <img>)和源属性(Src) 在 HTML 中,图像由<img> 标签定义. <img> 是空标签,意思是说,它只包含属性,并且没有 ...
- NPOI office 组件资料汇总 (excel, word)
POI 是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office 的文件,支持的文件格式包括xls, doc, ppt等. NPOI 是POI的.net 版本. 最新 ...
- ScrollView嵌套ListView只显示一行
错误描述 ScrollView嵌套ListView中导致ListView高度计算不正确,只显示一行. 解决方法 重写ListView的onMeasure方法,代码如下. @Override publi ...
- C# 异步编程2 EAP 异步程序开发
在前面一篇博文记录了C# APM异步编程的知识,今天再来分享一下EAP(基于事件的异步编程模式)异步编程的知识.后面会继续奉上TPL任务并行库的知识,喜欢的朋友请持续关注哦. EAP异步编程算是C#对 ...
- Linux安装解压缩版jdk
#解压到指定目录 tar zxvf ./jdk-7-Linux-i586.tar.gz -C /usr/lib/jvm 配置环境变量 #vi /etc/profile 编辑文件,在最后添加: ex ...