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 19 Python
python使用scrapy解析js示例
Jan 23 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
Jun 02 Python
Python3.6 Schedule模块定时任务(实例讲解)
Nov 09 Python
新年快乐! python实现绚烂的烟花绽放效果
Jan 30 Python
解决Python3 控制台输出InsecureRequestWarning问题
Jul 15 Python
python中下标和切片的使用方法解析
Aug 27 Python
Pycharm 2019 破解激活方法图文详解
Oct 11 Python
python游戏开发的五个案例分享
Mar 09 Python
PyCharm配置anaconda环境的步骤详解
Jul 31 Python
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
May 14 Python
Python 高级库15 个让新手爱不释手(推荐)
May 15 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从csv文件读取数据并输出到网页的方法
2015/03/14 PHP
微信开发之网页授权获取用户信息(二)
2016/01/08 PHP
PHP常见错误提示含义解释(实用!值得收藏)
2016/04/25 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
javascript函数以及基础写法100多条实用整理
2013/01/13 Javascript
jquery获取元素索引值index()示例
2014/02/13 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
JavaScript如何实现组合列表框中元素移动效果
2016/03/01 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
Angular的模块化(代码分享)
2016/12/26 Javascript
浅析JS中常用类型转换及运算符表达式
2017/07/23 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
python 中的列表解析和生成表达式
2011/03/10 Python
python解析html开发库pyquery使用方法
2014/02/07 Python
Python使用multiprocessing创建进程的方法
2015/06/04 Python
常见python正则用法的简单实例
2016/06/21 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
2018/07/04 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
Django2 连接MySQL及model测试实例分析
2019/12/10 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
利用CSS3的特性改变文本选中时的颜色
2013/09/11 HTML / CSS
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
Booking.com英国官网:全球酒店在线预订网站
2018/04/21 全球购物
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
Linux如何为某个操作添加别名
2013/03/01 面试题
争先创优演讲稿
2014/09/15 职场文书
教师群众路线剖析材料
2014/09/29 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
2014年底工作总结
2014/12/15 职场文书
同学会邀请函模板
2015/01/30 职场文书
格列夫游记读书笔记
2015/07/01 职场文书
雨雪天气温馨提示
2015/07/15 职场文书
室外天线与收音机天线杆接合方法
2022/04/05 无线电
Win11 22H2 2022怎么更新? 获得Win1122H22022版本升级技巧
2022/09/23 数码科技
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技