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 18 Python
Python的string模块中的Template类字符串模板用法
Jun 27 Python
解决Python字典写入文件出行首行有空格的问题
Sep 27 Python
Tensorflow 查看变量的值方法
Jun 14 Python
django 外键model的互相读取方法
Dec 15 Python
Django框架用户注销功能实现方法分析
May 28 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
Aug 09 Python
python控制台实现tab补全和清屏的例子
Aug 20 Python
Python实现PyPDF2处理PDF文件的方法示例
Sep 25 Python
python线程里哪种模块比较适合
Aug 02 Python
Python pip install之SSL异常处理操作
Sep 03 Python
Python抓包并解析json爬虫的完整实例代码
Nov 03 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字符串中插入子字符串方法总结
2016/05/06 PHP
超强的IE背景图片闪烁(抖动)的解决办法
2007/09/09 Javascript
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
从0开始学Vue
2016/10/27 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
node.js学习之断言assert的使用示例
2017/09/28 Javascript
js数组常用最重要的方法
2018/02/04 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
js实现内置计时器
2019/12/16 Javascript
python跳过第一行快速读取文件内容的实例
2018/07/12 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
python实现高斯(Gauss)迭代法的例子
2019/11/20 Python
python实现高斯投影正反算方式
2020/01/17 Python
Python基于当前时间批量创建文件
2020/05/07 Python
如何解决pycharm调试报错的问题
2020/08/06 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
2021/02/01 Python
解决Firefox下不支持outerHTML问题代码分享
2014/06/04 HTML / CSS
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
农民致富事迹材料
2014/01/23 职场文书
电气个人求职信范文
2014/02/04 职场文书
仓管岗位职责范本
2014/02/08 职场文书
创业培训计划书
2014/05/03 职场文书
学校校庆演讲稿
2014/05/22 职场文书
手机销售员岗位职责
2015/04/11 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书
中学教师教学工作总结
2015/08/13 职场文书
2016年小学生清明节广播稿
2015/12/17 职场文书
初三英语教学反思
2016/02/15 职场文书