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输出PowerPoint(ppt)文件中全部文字信息的方法
Apr 28 Python
Python实现的爬虫刷回复功能示例
Jun 07 Python
python正则表达式匹配[]中间为任意字符的实例
Dec 25 Python
python字符串Intern机制详解
Jul 01 Python
django 微信网页授权登陆的实现
Jul 30 Python
python pillow模块使用方法详解
Aug 30 Python
python连接、操作mongodb数据库的方法实例详解
Sep 11 Python
python自动结束mysql慢查询会话的实例代码
Oct 27 Python
Python集合基本概念与相关操作实例分析
Oct 30 Python
Django将默认的SQLite更换为MySQL的实现
Nov 18 Python
python异常中else的实例用法
Jun 15 Python
python绘制云雨图raincloud plot
Aug 05 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中的fopen()函数用打开文件模式说明
2013/06/20 PHP
php使用smtp发送支持附件的邮件示例
2014/04/13 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
部署PHP时的4个配置修改说明
2015/10/19 PHP
php操作access数据库的方法详解
2017/02/22 PHP
阿里云PHP SMS短信服务验证码发送方法
2017/07/11 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
js面向对象之静态方法和静态属性实例分析
2015/01/10 Javascript
分享一则JavaScript滚动条插件源码
2015/03/03 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
jQuery获取元素父节点的方法
2016/06/21 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
jQuery ajaxForm()的应用
2016/10/14 Javascript
vue一步步实现alert功能
2017/07/05 Javascript
javascript实现文字无缝滚动效果
2017/08/26 Javascript
React 组件间的通信示例
2018/06/14 Javascript
Js on及addEventListener原理用法区别解析
2020/07/11 Javascript
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
python使用mysqldb连接数据库操作方法示例详解
2013/12/03 Python
pyqt4教程之实现半透明的天气预报界面示例
2014/03/02 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
pycharm运行程序时在Python console窗口中运行的方法
2018/12/03 Python
python实现多层感知器
2019/01/18 Python
python实践项目之监控当前联网状态详情
2019/05/23 Python
Python3 元组tuple入门基础
2020/02/09 Python
使用Tensorboard工具查看Loss损失率
2020/02/15 Python
Python实现列表索引批量删除的5种方法
2020/11/16 Python
CSS3让登陆面板3D旋转起来
2016/05/03 HTML / CSS
JAVA程序员面试题
2012/10/03 面试题
关于毕业的广播稿
2014/01/10 职场文书
会议接待欢迎词范文
2015/01/26 职场文书
求职导师推荐信范文
2015/03/27 职场文书
Python基础之进程详解
2021/05/21 Python
Python中常见的反爬机制及其破解方法总结
2021/06/10 Python