Python编程求质数实例代码


Posted in Python onJanuary 31, 2018

本文研究的主要是Python编程求质数实例,选取了几个数进行了测试,具体如下。

定义:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。

我们知道自然数(除了0和1以外)都可以写成几个质数相乘再乘以一的格式,所以我们可以用以个数去试一试看看它能否将小于它的质数整除。

首先我们创建一个空的list,然后我们知道2是最小的质数,于是我们把2添加进这个空白的list,之后我们开始循环,第一个数从3开始,用3除以小于3的质数,没有小于它的质数能被它整除,我们将3再添加入我们所创建的list,然后循环到4,在list中有一个质数2能将它整除,我们就舍去这个数因为它不是我们所要的质数。后面的以此类推,合数被舍去,质数保存到list中,最后打印出list就是我们所要的质数合集啦。

import time
start=time.clock()
i=input('please enter an integer:')
#创建一个空list
r=list()
#添加元素2
r.append(2)
#从3开始挨个筛选
for a in range(3,i):
  b=False
#用a除以小于a的质数b
  for b in r:
    if a%b==0:
      b=False
      break
    else:
      b=True
  if b==True:
    r.append(a)
print r
t=(time.clock()-start)
print t

如下显示:

Python编程求质数实例代码

下面用1000来测试代码的结果:

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]
3.29336980871

这段代码需要用到一点点list的知识,(学校上课刚好讲到这里),正好可以练习一下如何添加和调用list中的元素哦!

我们来对比一下最容易想到的的办法的效率

import time
start=time.clock()
b=False
i=input('enter an integer please:')
for a in range(2,i):
  for c in range(2,a):
    if a%c==0:
      b=False
      break
    else:
      b=True
  if b==True:
    print a,
elapsed=(time.clock()-start)
print elapsed

运行结果为:

enter an integer please:200
3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 2.86033831663
>>>

运行起来明显比前一段代码要迟钝。

下面,使用第一段代码求100000以内的质数,实在是有些卡,下面结果供参考(仅截取了部分结果):

Python编程求质数实例代码

总结

以上就是本文关于Python编程求质数实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python3使用requests模块爬取页面内容的实战演练
Sep 25 Python
Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
Sep 26 Python
Python爬虫实现简单的爬取有道翻译功能示例
Jul 13 Python
python八皇后问题的解决方法
Sep 27 Python
如何使用Python实现自动化水军评论
Jun 26 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
Aug 06 Python
Win10 安装PyCharm2019.1.1(图文教程)
Sep 29 Python
基于Python实现拆分和合并GIF动态图
Oct 22 Python
python json load json 数据后出现乱序的解决方案
Feb 27 Python
python实现logistic分类算法代码
Feb 28 Python
Python QTimer实现多线程及QSS应用过程解析
Jul 11 Python
Python中json.dumps()函数的使用解析
May 17 Python
Python及Django框架生成二维码的方法分析
Jan 31 #Python
Python进阶之尾递归的用法实例
Jan 31 #Python
简单的python协同过滤程序实例代码
Jan 31 #Python
Python进阶之递归函数的用法及其示例
Jan 31 #Python
Python tkinter事件高级用法实例
Jan 31 #Python
pyqt5自定义信号实例解析
Jan 31 #Python
Python使用flask框架操作sqlite3的两种方式
Jan 31 #Python
You might like
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
2014/06/19 PHP
php微信开发之谷歌测距
2018/06/14 PHP
我也种棵OO树JXTree[js+css+xml]
2007/04/02 Javascript
JavaScript初学者应注意的七个细节小结
2012/01/30 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
邮箱下拉自动填充选择示例代码附图
2014/04/03 Javascript
jQuery点击其他地方时菜单消失的实现方法
2016/04/22 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
每日十条JavaScript经验技巧(一)
2016/06/23 Javascript
ionic隐藏tabs的方法
2016/08/29 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
微信小程序-拍照或选择图片并上传文件
2017/01/06 Javascript
利用Node.js检测端口是否被占用的方法
2017/12/07 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
2018/01/08 Javascript
了解JavaScript中let语句
2019/05/30 Javascript
vue+mock.js实现前后端分离
2019/07/24 Javascript
JS实现json数组排序操作实例分析
2019/10/28 Javascript
[01:46]DOTA2上海特锦赛小组赛英文解说KotlGuy采访
2016/02/27 DOTA
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
python3 面向对象__类的内置属性与方法的实例代码
2018/11/09 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
英国手机零售商:Metrofone
2019/03/18 全球购物
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
在校生汽车维修实习自我鉴定
2013/09/19 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
党员自评材料范文
2014/12/17 职场文书
我去timi了,一起去timi是什么意思?
2022/04/13 杂记
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS