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 相关文章推荐
利用Python读取文件的四种不同方法比对
May 18 Python
Python实现多线程抓取网页功能实例详解
Jun 08 Python
Python3实现发送QQ邮件功能(附件)
Dec 23 Python
Python 将pdf转成图片的方法
Apr 23 Python
python+pandas+时间、日期以及时间序列处理方法
Jul 10 Python
python画折线图的程序
Jul 26 Python
python通过SSH登陆linux并操作的实现
Oct 10 Python
Python 获取命令行参数内容及参数个数的实例
Dec 20 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
Feb 03 Python
Python找出列表中出现次数最多的元素三种方式
Feb 24 Python
python反编译教程之2048小游戏实例
Mar 03 Python
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
Jun 22 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 insert语法详解
2008/06/07 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
document 和 document.all 分别什么时候用
2006/06/22 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
2017/02/18 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
2020/04/08 Javascript
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
python使用MySQLdb访问mysql数据库的方法
2015/08/03 Python
Python脚本暴力破解栅栏密码
2015/10/19 Python
wxPython之解决闪烁的问题
2018/01/15 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
2018/04/09 Python
python 使用while写猜年龄小游戏过程解析
2019/10/07 Python
python的json包位置及用法总结
2020/06/21 Python
Python爬虫中Selenium实现文件上传
2020/12/04 Python
css sprite简单实例
2016/05/23 HTML / CSS
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
英国音乐设备和乐器商店:Gear4music
2017/10/16 全球购物
Falconeri美国官网:由羊绒和羊毛制成的针织服装
2018/04/08 全球购物
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
护士思想汇报
2014/01/12 职场文书
高三高考决心书
2014/03/11 职场文书
2014年度考核工作总结
2014/12/24 职场文书
考研导师推荐信范文
2015/03/27 职场文书
花木兰观后感
2015/06/10 职场文书
思品教学工作总结
2015/08/10 职场文书
小学家庭教育心得体会
2016/01/14 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书
2016年六一文艺汇演开幕词
2016/03/04 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
python基于tkinter制作m3u8视频下载工具
2021/04/24 Python