python求超级素数代码_[宜配屋]听图阁
如果一个数字能表示成 p^q,且p是一个素数,q为大于1的正整数,则此数字就是超级素数幂。
param number: 测试该数字是否是超级素数幂
return: 如果不是就返回 False,如果是就返回 p 和 q 值
例如,输入125,返回(5,3)
代码:
import math
def get_prime(number):
'''
寻找小于number的所有的质数,时间复杂度o(n^2)
'''
if number <= 1:
print 'Wrong given number.'
return
prime = []
for i in xrange(2, number+1):
j = 2
while j < i:
if i % j == 0:
break
j += 1
if j == i:
prime.append(i)
return prime
def super_prime_power(number):
scope = int(math.ceil(math.sqrt(number))) # 开根号除掉一部分不需要的数
prime_number = get_prime(scope)
be_tested = []
for i in prime_number: # 先将无法被整数的排除掉
if number % i == 0:
be_tested.append(i)
for p in be_tested:
q = 2
while p ** q <= number:
if p ** q == number:
return (p, q)
q += 1
return False
print super_prime_power(999)
分析:
总的时间复杂度为o(sqrt(n)log n),再加上寻找质数花费的时间,总的时间复杂度为o(n^2 sqrt(n)log n)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。
python求超级素数代码_[宜配屋]听图阁相关推荐
- python做excel表格代码_[宜配屋]听图阁
安装两个库:pip install xlrd.pip install xlwt 1.python读excel--xlrd 2.python写excel--xlwt 1.读excel数据,包括日期等数据 ...
- python开发一个彩票系统_[宜配屋]听图阁
本文为大家分享了python实现彩票系统的具体代码,供大家参考,具体内容如下 功能:1.注册 2.登录 3.充钱 4.提现 5.下注 6.开奖 7.退出 简述:彩民需要用身份证号码开户注 ...
- python对数组的基本操作_[宜配屋]听图阁
这篇文章主要介绍了简单了解python数组的基本操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一,创建列表 创建一个列表,只要把逗号分隔的不同 ...
- python连接oracle详细教程_[宜配屋]听图阁
1. 连接对象 操作数据库之前,首先要建立数据库连接. 有下面几个方法进行连接. >>>import cx_Oracle >>>db = cx_Oracle.con ...
- python的pyaudio教程入门_[宜配屋]听图阁
0.引子 当需要使用Python处理音频数据时,使用python读取与播放声音必不可少,下面介绍一个好用的处理音频PyAudio工具包. PyAudio是Python开源工具包,由名思义,是提供对 ...
- python计算圆的体积_[宜配屋]听图阁
在已知DICOM和三维模型对应掩膜的情况下,计算三维模型的体积. 思路: 1.计算每个体素的体积.每个体素为长方体,x,y为PixelSpacing,z为层间距 使用pydicom.read_file ...
- 关于python格式对齐的问题_[宜配屋]听图阁 - 浅谈python str.format与制表符\t关于中文对齐的细节问题...
写了一个练手的爬虫...在输出的时候出现了让人很不愉♂悦的问题 像这样: 令人十分难受啊! #------------------------------------------ 在此之前先说一下py ...
- python七彩蟒蛇代码_[宜配屋]听图阁
本文主要研究的是Python编程turtle的实例,绘制一个七彩蟒蛇..具体如下. 第2周的课后练习里,有一道题目,要求修改"蟒蛇绘制"程序,对Python 蟒蛇的每个部分采用不同 ...
- python可以翻墙吗_[宜配屋]听图阁
那堵墙着实可恨!身处IT这个圈子,经常需要用gg查资料(你也可以用来访问1024,^_^...).当然,你也可以用百度.其实也不是我不爱用百度,是有缘由的,且听我细细道来.有一次闲得蛋疼,想看看会不会 ...
最新文章
- 特斯拉Autopilot事故频发,真正意义上自动驾驶还要多久问世?
- Rancher-创建自己的应用商店教程
- 【scala】类的定义和单例对象
- java 工作 日期转换代码,判断是否是当天,然后日期转换
- [RabbitMQ]工作队列原理_代码实现
- 记一次打包的诡异现象
- 乔治敦大学计算机专业排名,2020USNEWS数据科学与分析专业综合排名(上)
- NetBeans 6.9 发布后选版 1 已经可用
- 软件工程 之 画扇面
- HTTP协商缓存与HTTP强缓存
- Selenium Grid的搭建方法
- CodeForces 444C. DZY Loves Physics(枚举+水题)
- 简单的用堆栈实现的表达式计算
- HTML5学习笔记(二):HTML基础学习之二
- 安装QQ、TIM提示:安装包可能被非法改动导致安装失败,请从官网下载最新安装包重新安装
- 关于kindle mobi词典解析
- OSPF--DR与BDR
- LearnGL - 03 - DrawQuad - VBO/EBO - 理解 CW, CCW 的正背面
- 数据库三大顶级会议 VLDB ICDE SIGMOD
- .Net Core MVC引入static静态变量到.cshtml页面
热门文章
- WCF4中舍去svc文件
- C/C++头文件一览
- cmake的使用-if-else的逻辑流程详解
- stm32中#ifndef __LED_H的作用
- SpringBoot中英文切换/国际化——java后端怎么用预置文本的内容替换web网页内容(Resource Bundle)
- 汇编语言运算符优先级
- c语言那些细节之a+1和a+1的区别
- java Junit 为什么@Test注解里的方法必须是public void修饰的
- error while loading shared libraries: libopencv_highgui.so.3.2: cannot open shared object file 的解决办法
- 简单支付验证(SPV)与创新