Python实现高效求解素数代码实例


Posted in Python onJune 30, 2015

素数是编程中经常需要用到的。

作为学习Python的示例,下面是一个高效求解一个范围内的素数的程序,不需要使用除法或者求模运算。

#coding:utf-8    #设置python文件的编码为utf-8,这样就可以写入中文注释
def primeRange(n):
  myArray=[1 for x in range(n+1)] ##列表解析,生成长度为(n+1)的列表,每个数值都为1
  myArray[0]=0
  myArray[1]=0
  startPos=2
  while startPos <= n:
    if myArray[startPos]==1:
      key=2
      resultPos = startPos * key #可知startPos的整数倍都不是素数,设置startPos的整数倍的位置为0表示非素数
      while resultPos <= n:
        myArray[resultPos] =0
        key += 1
        resultPos = startPos *key
    startPos += 1

  resultList=[]  ##将最终的素数保存在resultList列表返回
  startPos=0
  while startPos <= n:
    if myArray[startPos] == 1:
      resultList.append(startPos)
    startPos += 1
  return resultList

numString=raw_input("Input the Range(>3):")
numInt=int(numString)
if numInt <= 3:
  print "The Number Need to be greater than 3"
else:
  primeResult=primeRange(numInt)
  print "The Result is:",primeResult
Python 相关文章推荐
python的keyword模块用法实例分析
Jun 30 Python
浅析Python中return和finally共同挖的坑
Aug 18 Python
python实现图片批量压缩程序
Jul 23 Python
Python requests模块实例用法
Feb 11 Python
Python使用字典的嵌套功能详解
Feb 27 Python
Python函数参数类型及排序原理总结
Dec 19 Python
python实现删除列表中某个元素的3种方法
Jan 15 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
Mar 31 Python
通过cmd进入python的步骤
Jun 16 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
Jan 07 Python
python 实现图与图之间的间距调整subplots_adjust
May 21 Python
浅析Python OpenCV三种滤镜效果
Apr 11 Python
python实现DES加密解密方法实例详解
Jun 30 #Python
python实现的系统实用log类实例
Jun 30 #Python
python实现在windows服务中新建进程的方法
Jun 30 #Python
python实现线程池的方法
Jun 30 #Python
python实现的简单FTP上传下载文件实例
Jun 30 #Python
编写Python CGI脚本的教程
Jun 29 #Python
Python访问纯真IP数据库脚本分享
Jun 29 #Python
You might like
几种显示数据的方法的比较
2006/10/09 PHP
php实现网站文件批量压缩下载功能
2015/10/28 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
2015/11/17 PHP
JavaScript 三种不同位置代码的写法
2009/10/25 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
jquery实现上下左右滑动的方法
2015/02/09 Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
2015/03/14 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
2015/09/10 Javascript
jQuery实现分隔条左右拖动功能
2015/11/21 Javascript
Bootstrap每天必学之导航组件
2016/04/25 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
AngularJS 前台分页实现的示例代码
2018/06/07 Javascript
原生JS检测CSS3动画是否结束的方法详解
2019/01/27 Javascript
详细解析Python当中的数据类型和变量
2015/04/25 Python
Python获取linux主机ip的简单实现方法
2016/04/18 Python
利用Python获取赶集网招聘信息前篇
2016/04/18 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
2018/05/30 Python
pandas修改DataFrame列名的实现方法
2019/02/22 Python
Python 列表去重去除空字符的例子
2019/07/20 Python
TensorFlow固化模型的实现操作
2020/05/26 Python
keras K.function获取某层的输出操作
2020/06/29 Python
Giglio德国网上精品店:奢侈品服装和配件
2016/09/23 全球购物
网络工程专业毕业生推荐信
2013/10/28 职场文书
会计与出纳自荐书范文
2014/03/16 职场文书
好习惯伴我成长演讲稿
2014/05/21 职场文书
反腐倡廉标语
2014/06/24 职场文书
考研导师推荐信范文
2015/03/27 职场文书
2015年质检工作总结
2015/05/04 职场文书
原告离婚代理词
2015/05/23 职场文书
大学生党课心得体会
2016/01/07 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书
使用pandas生成/读取csv文件的方法实例
2021/07/09 Python