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备份Mysql脚本
Aug 11 Python
Python FTP操作类代码分享
May 13 Python
wxPython中文教程入门实例
Jun 09 Python
用Python写冒泡排序代码
Apr 12 Python
深入解析Python的Tornado框架中内置的模板引擎
Jul 11 Python
python实现简单点对点(p2p)聊天
Sep 13 Python
matplotlib中legend位置调整解析
Dec 19 Python
利用python将json数据转换为csv格式的方法
Mar 22 Python
Django 使用logging打印日志的实例
Apr 28 Python
Python MySQLdb 执行sql语句时的参数传递方式
Mar 04 Python
Python读取JSON数据操作实例解析
May 18 Python
Python 保存加载mat格式文件的示例代码
Aug 04 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
php摘要生成函数(无乱码)
2012/02/04 PHP
深入PHP magic quotes的详解
2013/06/17 PHP
PHP反射使用实例和PHP反射API的中文说明
2014/07/02 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
深入理解JavaScript系列(2) 揭秘命名函数表达式
2012/01/15 Javascript
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
jquery模拟LCD 时钟的html文件源代码
2014/06/16 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
JavaScript数据类型之基本类型和引用类型的值
2015/04/01 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
jQuery插件windowScroll实现单屏滚动特效
2015/07/14 Javascript
jQuery实现鼠标经过时出现隐藏层文字链接的方法
2015/10/12 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
js实现文字列表无缝滚动效果
2017/06/23 Javascript
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
解决vue axios的封装 请求状态的错误提示问题
2018/09/25 Javascript
jQuery选择器之层次选择器用法实例分析
2019/02/19 jQuery
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
理解Python中的With语句
2015/02/02 Python
python判断字符串是否包含子字符串的方法
2015/03/24 Python
浅析Python 中几种字符串格式化方法及其比较
2019/07/02 Python
Python散点图与折线图绘制过程解析
2019/11/30 Python
将matplotlib绘图嵌入pyqt的方法示例
2020/01/08 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
玖熙女鞋美国官网:Nine West
2016/10/06 全球购物
美国网上花店:JustFlowers
2017/02/12 全球购物
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
飞利浦美国官网:Philips美国
2020/02/28 全球购物
勤俭节约演讲稿
2014/05/08 职场文书
村当支部个人对照检查材料思想汇报
2014/10/06 职场文书
幼儿园园长新年寄语2015
2014/12/08 职场文书
南湾猴岛导游词
2015/02/09 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书
spring boot实现文件上传
2022/08/14 Java/Android