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库urllib与urllib2主要区别分析
Jul 13 Python
在Docker上部署Python的Flask框架的教程
Apr 08 Python
深入理解Python中range和xrange的区别
Nov 26 Python
python实现教务管理系统
Mar 12 Python
python 去除txt文本中的空格、数字、特定字母等方法
Jul 24 Python
在Python文件中指定Python解释器的方法
Feb 18 Python
OpenCV HSV颜色识别及HSV基本颜色分量范围
Mar 22 Python
python requests证书问题解决
Sep 05 Python
python爬虫容易学吗
Jun 02 Python
Python filter过滤器原理及实例应用
Aug 18 Python
pandas参数设置的实用小技巧
Aug 23 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
Mar 02 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
PHP4.04简明安装
2006/10/09 PHP
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
深入PHP5中的魔术方法详解
2013/06/17 PHP
php中删除、清空session的方式总结
2015/10/09 PHP
PHP实现腾讯与百度坐标转换
2017/08/05 PHP
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
nodejs开发微博实例
2015/03/25 NodeJs
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
全面解析标签页的切换方式
2016/08/21 Javascript
Vue.js render方法使用详解
2017/04/05 Javascript
JS实现提交表单前的数字及邮箱校检功能
2017/11/13 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
2018/01/18 Javascript
JS简单获取并修改input文本框内容的方法示例
2018/04/08 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
利用layer实现表单完美验证的方法
2019/09/26 Javascript
vue实现图片上传功能
2020/05/28 Javascript
原生js实现分页效果
2020/09/23 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
[01:25]DOTA2超级联赛专访iG 将调整状态找回自己
2013/06/05 DOTA
快速了解Python中的装饰器
2018/01/11 Python
详解如何设置Python环境变量?
2019/05/13 Python
pandas删除行删除列增加行增加列的实现
2019/07/06 Python
python生成器推导式用法简单示例
2019/10/08 Python
浅析PEP572: 海象运算符
2019/10/15 Python
python爬虫实现获取下一页代码
2020/03/13 Python
Django 多对多字段的更新和插入数据实例
2020/03/31 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
django 模型字段设置默认值代码
2020/07/15 Python
Mistine官方海外旗舰店:泰国国民彩妆品牌
2016/12/28 全球购物
岗位职责的定义
2013/11/10 职场文书
高二英语教学反思
2014/01/19 职场文书
软件项目实施计划书
2014/05/02 职场文书
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
荒岛余生观后感
2015/06/09 职场文书
2019年大学生学年自我鉴定!
2019/03/25 职场文书
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers