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读文件逐行处理的示例代码分享
Dec 27 Python
linux系统使用python监测网络接口获取网络的输入输出
Jan 15 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
Aug 08 Python
Python升级导致yum、pip报错的解决方法
Sep 06 Python
Python中Scrapy爬虫图片处理详解
Nov 29 Python
python实现简单登陆流程的方法
Apr 22 Python
Python 脚本获取ES 存储容量的实例
Dec 27 Python
对python 自定义协议的方法详解
Feb 13 Python
创建Django项目图文实例详解
Jun 06 Python
TensorFlow:将ckpt文件固化成pb文件教程
Feb 11 Python
Python无头爬虫下载文件的实现
Apr 02 Python
python 如何区分return和yield
Sep 22 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
Discuz论坛密码与密保加密规则
2016/12/19 PHP
PHP读取、解析eml文件及生成网页的方法示例
2017/09/04 PHP
Javascript 判断客户端浏览器类型代码
2010/03/01 Javascript
javascript css styleFloat和cssFloat
2010/03/15 Javascript
jquery索引在使用中的一些困惑
2013/10/24 Javascript
js读取json的两种常用方法示例介绍
2014/10/19 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
2015/04/13 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
2016/01/26 Javascript
浅谈bootstrap源码分析之tab(选项卡)
2016/06/06 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
Bootstrap对话框使用实例讲解
2016/09/24 Javascript
微信小程序 教程之小程序配置
2016/10/17 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
layui点击按钮页面会自动刷新的解决方案
2019/10/25 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
javascript实现画板功能
2020/04/12 Javascript
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
Python设计模式之观察者模式简单示例
2018/01/10 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
CSS实现的一闪而过的图片闪光效果
2014/04/23 HTML / CSS
CSS3动画animation实现云彩向左滚动
2014/05/09 HTML / CSS
美国最古老的精致书写工具制造商:A.T. Cross(高仕)
2018/01/30 全球购物
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
党校培训自我鉴定范文
2014/03/20 职场文书
中介业务员岗位职责
2014/04/09 职场文书
操行评语大全
2014/04/30 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
开展党的群众路线教育实践活动总结报告
2014/10/31 职场文书
假期读书倡议书3篇
2019/08/19 职场文书
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python