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 排序算法总结及实例详解
Sep 28 Python
Django进阶之CSRF的解决
Aug 01 Python
使用python判断你是青少年还是老年人
Nov 29 Python
Python实现字符串匹配的KMP算法
Apr 04 Python
python笔记_将循环内容在一行输出的方法
Aug 08 Python
对YOLOv3模型调用时候的python接口详解
Aug 26 Python
使用Python脚本zabbix自定义key监控oracle连接状态
Aug 28 Python
python实现门限回归方式
Feb 29 Python
Django多层嵌套ManyToMany字段ORM操作详解
May 19 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
Sep 29 Python
Python制作简单的剪刀石头布游戏
Dec 10 Python
python中openpyxl和xlsxwriter对Excel的操作方法
Mar 01 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安全配置 如何配置使其更安全
2011/12/16 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
PHP类中的魔术方法(Magic Method)简明总结
2014/07/08 PHP
php 7新特性之类型申明详解
2017/06/06 PHP
php+js实现点赞功能的示例详解
2020/08/07 PHP
js 效率组装字符串 StringBuffer
2009/12/23 Javascript
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
Date对象格式化函数代码
2010/07/17 Javascript
prettify 代码高亮着色器google出品
2010/12/28 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
JavaScript 获取任一float型小数点后两位的小数
2014/06/30 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
jQuery操作json常用方法示例
2017/01/04 Javascript
BootStrap的双日历时间控件使用
2017/07/25 Javascript
详解Vue2中组件间通信的解决全方案
2017/07/28 Javascript
vue+axios 前端实现的常用拦截的代码示例
2018/08/23 Javascript
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
小试SVG之新手小白入门教程
2019/01/08 Javascript
js的各种数据类型判断的介绍
2019/01/19 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&amp;平移轮播效果
2019/08/16 Javascript
[02:19]2014DOTA2国际邀请赛 专访820少年们一起去追梦吧
2014/07/14 DOTA
[05:16]《大圣!大圣》——DOTA2新英雄齐天大圣配音李世宏老师专访
2016/12/13 DOTA
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
华为校园招聘上机笔试题 扑克牌大小(python)
2020/04/22 Python
详解Django admin高级用法
2019/11/06 Python
python next()和iter()函数原理解析
2020/02/07 Python
新电JAVA笔试题目
2014/08/31 面试题
师德师风个人自我剖析材料
2014/09/27 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
不尊敬老师的检讨书
2014/12/21 职场文书
乡镇干部学习心得体会
2016/01/23 职场文书
Python自动化实战之接口请求的实现
2022/05/30 Python