Python 2种方法求某个范围内的所有素数(质数)
素数简介
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。
方法1
def primeNUM(min,max): if min==1: print('') min += 1 for i in range(min, max+1): for j in range(2, i + 1): if i % j == 0: #判断i能不能被整除 break #退出for循环 if j == i: #若j等于i,说明i是素数 print(i,end=" ") print('') primeNUM(1,200)
方法2
def test(num): list = [] #定义一个列表 用于存储计算的数 i = num -1 # 去除本身 while i > 1: # 去除1 https://blog.zeruns.tech if num %i == 0 : #判断是否有余数 list.append(i) # 将所有的能整除i的数加入列表 i -= 1 if len(list) == 0 and num != 1: # 如果列表为空 就是表示除了1和它本身能整除 print(num,end=' ') def primeNUM2(min,max): j = min while j < max: test(j) j += 1 print('') primeNUM2(1,100)
输出结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
使用Python判断质数(素数)的简单方法讲解
质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数.素数在数论中有着很重要的地位.比1大但不是素数的数称为合数.1和0既非素数也非合数.质数是与合数相对立的两个概念,二者构成了数论当中最基础的定义之一.基于质数定义的基础之上而建立的问题有很多世界级的难题,如哥德巴赫猜想等.算术基本定理证明每个大于1的正整数都可以写成素数的乘积,并且这种乘积的形式是唯一的.这个定理的重要一点是,将1排斥在素数集合以外.如果1被认为是素数,那么这些严格的阐述就不得不加上一些限制条
-
Python实现输出某区间范围内全部素数的方法
本文实例讲述了Python实现输出某区间范围内全部素数的方法.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- # 简述:区间范围101-200 # 要求:判断这个区间内有多少个素数,并逐一输出. def prime(m,n): list1=[] list2=[] for i in range(m,n+1): list1.append(i) for j in range(2,m/2): if i%j==0: list2.append(i) break #print
-
Python素数检测的方法
本文实例讲述了Python素数检测的方法.分享给大家供大家参考.具体如下: 因子检测: 检测因子,时间复杂度O(n^(1/2)) def is_prime(n): if n < 2: return False for i in xrange(2, int(n**0.5+1)): if n%i == 0: return False return True 费马小定理: 如果n是一个素数,a是小于n的任意正整数,那么a的n次方与a模n同余 实现方法: 选择一个底数(例如2),对于大整数p,如果2^(
-
Python求出0~100以内的所有素数
质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数:否则称为合数. 一.判断一个数是否为素数: 基于定义 def is_prime(num): if num <= 1: return '%d是一个合数' % num for i in range(2, num): if not num % i: return '%d是一个合数' % num else: return '%d是一个素数' % num 考虑合数的性质 def is_prime(num): if num
-
Python 判断是否为质数或素数的实例
一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除(2, 3, 5, 7等),换句话说就是该数除了1和它本身以外不再有其他的因数. 首先我们来第一个传统的判断思路: def handlerNum(num): # 质数大于 1 if num > 1: # 查看是否有其他因子 for i in range(2, num//2+1): if (num % i) == 0: print(num,"不是质数") break else: print(num, "是质
-
Python求解任意闭区间的所有素数
题目:请求出任意区间[a,b]的所有素数,简单考虑实用性 这道题看起来应该很easy是吧,但任意区间(这个问题有没get 到) Afanty的分析: 1.首先明白什么叫素数,注意用求余法判断的循环上限应该为sqrt(n)吧? 2.任意区间,a,b是不是可以为负数.小数等. 所以是不是要首先对区间下限向上取整.区间上限向下取整,得到新的区间[a,b]再判断呀: 如何判断? case1:当b<0,是不是就不用求解啦 case2:当a<0,b>0,是不是a应该从1开始,区间变为[1,b] ca
-
python求素数示例分享
复制代码 代码如下: # 判断是否是素数def is_sushu(num): res=True for x in range(2,num-1): if num%x==0: res=False return res return res # 打印出素数列表print ([x for x in range(1000) if is_sushu(x)])
-
Python实现求最大公约数及判断素数的方法
本文实例讲述了Python实现求最大公约数及判断素数的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/env python def showMaxFactor(num): count = num / 2 while count > 1: if num % count == 0: print 'largest factor of %d is %d' % (num, count) break #break跳出时会跳出下面的else语句 count -= 1 else: prin
-
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.' re
-
python素数筛选法浅析
原理: 素数,指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数.在加密应用中起重要的位置,比如广为人知的RSA算法中,就是基于大整数的因式分解难题,寻找两个超大的素数然后相乘作为密钥的.一个比较常见的求素数的办法是埃拉托斯特尼筛法(the Sieve of Eratosthenes) ,说简单一点就是画表格,然后删表格,如图所示: 从2开始依次往后面数,如果当前数字一个素数,那么就将所有其倍数的数从表中删除或者标记,然后最终得到所有的素数. 有一个优化: 标记2和3的倍数
-
Python素数检测实例分析
本文实例讲述了Python素数检测的方法.分享给大家供大家参考.具体如下: 该程序实现了素数检测器功能,如果结果是true,则是素数,如果结果是false,则不是素数. def fnPrime(n): for i in range(2,n,1): if(n % i == 0): return bool(0) return bool(1) 希望本文所述对大家的Python程序设计有所帮助.
-
Python实现高效求解素数代码实例
素数是编程中经常需要用到的. 作为学习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:
随机推荐
- JSP实现计算器功能(网页版)
- js操作XML文件的实现方法兼容IE与FireFox
- jquery实现动静态条形统计图
- Laravel 5框架学习之向视图传送数据(进阶篇)
- mysql中engine=innodb和engine=myisam的区别介绍
- php+mysql prepare 与普通查询的性能对比实例讲解
- 基于python编写的微博应用
- javascript 实现划词标记划词搜索功能
- javascript开发技术大全-第3章 js数据类型
- VC6.0代码自动提示 VC6.0在win7环境下代码提示智能化
- 详解Android数据存储之SQLCipher数据库加密
- 原生JS实现的双色球功能示例
- 深入分析python数据挖掘 Json结构分析
- 易语言抓包获得地址实现TP路由器登陆的代码
- Java异常处理 如何跟踪异常的传播路径
- python selenium登录豆瓣网过程解析
- oracle使用索引与不使用索引的性能详析
- Java编程细节重构之为什么if-else不是好代码详析
- C#内插字符串的简单使用
- Python基于OpenCV库Adaboost实现人脸识别功能详解