精华内容
下载资源
问答
  • 来看这一种判断素数(质数)的函数:form math import sartdef is_prime(n):if n==1:return Falsefor i in range(2, int(sqrt(n) + 1)):if n % i == 0:return Falsereturn True看起来,这是一种比较优秀的方法了,...

    来看这一种判断素数(质数)的函数:

    form math import sart

    def is_prime(n):

    if n==1:

    return False

    for i in range(2, int(sqrt(n) + 1)):

    if n % i == 0:

    return False

    return True

    看起来,这是一种比较优秀的方法了,因为通过sqrt()函数减少了开方级的计算量。

    再来看:

    def is_prime(number):

    if number > 1:

    if number == 2:

    return True

    if number % 2 == 0:

    return False

    for current in range(3, int(math.sqrt(number) + 1), 2):

    if number % current == 0:

    return False

    return True

    return False

    咋一看,这一次的代码看起来更多。但是,计算量却又在原来的基础上又几乎减少一半。高明之处就在这一句:if number % 2 == 0:,其实这一句就一部将2以及所有合数因子给排除掉了,所以在这一句range(3, int(math.sqrt(number) + 1), 2)中,直接从3起步,步长为2.在range()函数产生的序列是[3,5,7,9,...],比原来由range(2, int(sqrt(n) + 1))产生的[2,3,4,5,6,...]少了合数的部分。

    展开全文
  • 1 #运用python的数学函数23 importmath45 defisPrime(n):6 if n

    1 #运用python的数学函数

    2

    3 importmath4

    5 defisPrime(n):6 if n <= 1:7 returnFalse8 for i in range(2, int(math.sqrt(n)) + 1):9 if n % i ==0:10 returnFalse11 returnTrue12

    13 #单行程序扫描素数

    14

    15 from math importsqrt16 N = 100

    17 [ p for p in range(2, N) if 0 not in [ p% d for d in range(2, int(sqrt(p))+1)] ]18

    19

    20 #运用python的itertools模块

    21

    22 from itertools importcount23 defisPrime(n):24 if n <= 1:25 returnFalse26 for i in count(2):27 if i * i >n:28 returnTrue29 if n % i ==0:30 returnFalse31

    32 #不使用模块的两种方法

    33

    34 defisPrime(n):35 if n <= 1:36 returnFalse37 i = 2

    38 while i*i <=n:39 if n % i ==0:40 returnFalse41 i += 1

    42 returnTrue43

    44

    45 defisPrime(n):46 if n <= 1:47 returnFalse48 if n == 2:49 returnTrue50 if n % 2 ==0:51 returnFalse52 i = 3

    53 while i * i <=n:54 if n % i ==0:55 returnFalse56 i += 2

    57 return True

    展开全文
  • isPrime4()函数功能相同效率不同,可以引入time判断使用的时间 #涉及简单计时http://www.cnblogs.com/didiaoxiaoguai/p/6684094.html strPrime = strPrime + str(j) + " " print(strPrime) #以下为另一写法 def ...

    def isPrime1(n):

    for i in range(2,n):#对2到n取余

    if n % i == 0:

    return False

    else:#注意缩进

    return True

    def isPrime2(n):

    for i in range(2,n//2+1):#对2到n/2取余

    if n % i == 0:

    return False

    else:

    return True

    def isPrime3(n):

    for i in range(2,int(n**0.5)):#对2到根号n取余

    if n % i == 0:

    return False

    else:

    return True

    N = 1000#求素数的范围

    strPrime = ""

    for j in range(2,N):

    if isPrime1(j):#使用isPrime1() isPrime2 isPrime3() isPrime4()函数功能相同效率不同,可以引入time判断使用的时间

    #涉及简单计时http://www.cnblogs.com/didiaoxiaoguai/p/6684094.html

    strPrime = strPrime + str(j) + " "

    print(strPrime)

    #以下为另一写法

    def isPrime4(n):

    for i in range(3,int(n**0.5),2):#将步长设为2

    if n % i == 0:

    return False

    else:

    return True

    N = 1000 #

    strPrime = "2 "

    for j in range(3,N,2):

    if isPrime4(j):

    strPrime = strPrime + str(j) + " "

    print(strPrime)

    展开全文
  • 来看这一种判断素数(质数)的函数:form math import sartdef is_prime(n):if n==1:return Falsefor i in range(2, int(sqrt(n) + 1)):if n % i == 0:return Falsereturn True看起来,这是一种比较优秀的方法了,...

    来看这一种判断素数(质数)的函数:

    form math import sart

    def is_prime(n):

    if n==1:

    return False

    for i in range(2, int(sqrt(n) + 1)):

    if n % i == 0:

    return False

    return True

    看起来,这是一种比较优秀的方法了,因为通过sqrt()函数减少了开方级的计算量。

    再来看:

    def is_prime(number):

    if number > 1:

    if number == 2:

    return True

    if number % 2 == 0:

    return False

    for current in range(3, int(math.sqrt(number) + 1), 2):

    if number % current == 0:

    return False

    return True

    return False

    咋一看,这一次的代码看起来更多。但是,计算量却又在原来的基础上又几乎减少一半。高明之处就在这一句:if number % 2 == 0:,其实这一句就一部将2以及所有合数因子给排除掉了,所以在这一句range(3, int(math.sqrt(number) + 1), 2)中,直接从3起步,步长为2.在range()函数产生的序列是[3,5,7,9,...],比原来由range(2, int(sqrt(n) + 1))产生的[2,3,4,5,6,...]少了合数的部分。

    展开全文
  • isPrime4()函数功能相同效率不同,可以引入time判断使用的时间 #涉及简单计时http://www.cnblogs.com/didiaoxiaoguai/p/6684094.html strPrime = strPrime + str(j) + " " print(strPrime) #以下为另一写法 def ...
  • 质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。质数是与合数相对立的两个概念,...
  • python判断素数函数

    千次阅读 2017-07-20 11:38:00
    来看这一种判断素数(质数)的函数: form math import sart def is_prime(n): if n==1: return False for i in range(2, int(sqrt(n) + 1)): if n % i == 0: return False return True 看起来,这是一种比较优秀...
  • 一个大于1的自然数,除了1和它本身外,不能被其他...首先我们来第一个传统的判断思路:def handlerNum(num):# 质数大于 1if num > 1:# 查看是否有其他因子for i in range(2, num//2+1):if (num % i) == 0:pr...
  • 概述今天主要分享一个判断素数的实例,一起来看看吧~需求用Python判断101-200之间有多少个素数,并输出所有素数。思路判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是...
  • 概述今天主要分享一个判断素数的实例,一起来看看吧~需求用Python判断101-200之间有多少个素数,并输出所有素数。思路判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是...
  • 文件和异常实际开发中常常会遇到对数据进行持久化操作的...在Python中实现文件的读写操作其实非常简单,通过Python内置的open函数,我们可以指定文件名、操作模式、编码信息等来获得操作文件的对象,接下来就可以...
  • Python教程学习:文件和异常在实际开发中,常常需要对程序中的数据进行持久...在Python中实现文件的读写操作其实非常简单,通过Python内置的open函数,我们可以指定文件名、操作模式、编码信息等来获得操作文件的对...
  • 先来看下什么是质数:质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数)。简单来说就是,只能除以1和自身的数(需要大于1)...
  • 第一个是判断素数,先上代码吧:1 from math importsqrt2 defis_prime(i):3 if i == 2:4 returnTrue5 elif i<2:6 returnFalse7 elif i%2 ==0:8 returnFalse9 else:10 for n in ...
  • 常见概念梳理Python中,不仅仅变量的值是可以变化的,类型也是可以随时变化的 Python的变量必须初始化否则提示 is not definedif、while中定义的变量在外面也可以访问,但是在函数中除非定义全局变量否则只能在函数...
  • 转自同名微信公众号 接上题:打印出100~1000里的所有... 判断数字n是否是素数在第7课学过。n = 61199293 for i in range(2,n): if n % i == 0: print(i) print('n is not a prime number') break 循环嵌套在第8...
  • Python编程判断一个正整数是否为素数的方法,python素数本文实例讲述了Python编程判断一个正整数是否为素数的方法。分享给大家供大家参考,具体如下:import stringimport math#判断是否素数的函数def isPrime(n):if...
  • 素数是只能被1与自身整除的数,根据定义,我们可以实现第一种算法。算法一:defisprime(n):if n < 2: returnFalsefor i in range(2,int(math.sqrt(n))+1):if n % i ==0:returnFalsereturn True任意一个合数都可...
  • 我们已经学过Python函数的无参数形式和按位传值参数形式,这一课里全面说明Python函数的参数形式。一、带默认值的参数 分数由分子和分母构成,但为什么不输入参数和只输入分子>>>from fractions import ...
  • 输入一个数,通过函数判断这个数是否为素数,并编写打印函数打印前五十个素数。 def isprime(number): #判断一个数是否为素数# div=2 while div<=number/2: if number%div==0: return False div+=1 return ...
  • 感谢所有给出意见的大神们,无论什么意见都非常感谢你们花时间看了这个并给出了宝贵的意见。我会根据大家意见不断改进...因为我将对素数的求法的问题转化为了画图的就能解决的问题,这本身就是最重大的突破。并且素...
  • 编写判断素数函数并找出前5个默尼森数。 名词解释 P是素数且M也是素数,并且M=2P - 1,则称M为默尼森数。例如,P=5, M=2P - 1 = 31,5和31都是素数,因此31是默尼森数。 输出格式 输出前五个默尼森数。每行输出一...
  • i=1 while i(i) 【for循环】 在介绍for循环之前,小鱼先补充一个小知识点:range()函数 range()函数在咱们python中是一个数学函数,它包含两个参数,range(x=0,y)中x,y 分别是两个整数,其中x有默认值为0,函数将会...
  • 给定一个整数n,判断是否是质数(质数是只能被1和它自身整除的数)第一种:运用数学函数importmathnum=int(input("输入一个数值:"))ifnum>1:sqare_num=math.floor(num**0.5)foriinrange(2,num):if(num%iandnum%(i+1))...
  • 质数(prime number)又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。...总结python脚本判断一个数是否为素数的几种方法:#运用python的数学函数import mathdef isPrime(n):i...
  • 好了, 我们继续挑战下Python入门编程, 如何判断一个数是素数?以及如何分解一个合数?首先回忆下:素数就是大于1且除了1和它本身之外没有其他素因子。大于1的非素数称为合数。形如F_n=2^2^n+1的数称为Fermat数。本节...
  • 好了, 我们继续挑战下Python入门编程, 如何判断一个数是素数?以及如何分解一个合数?首先回忆下:素数就是大于1且除了1和它本身之外没有其他素因子。大于1的非素数称为合数。形如F_n=2^2^n+1的数称为Fermat数。本节...
  • 下面认为1是合数。因为“合数”比“非素数”好听多了。为了直观,我们把正整数列成一排。下面有一条线,这条线的长度刚好够框住...可能的情况有四种:1、吐出一个素数,吞入一个素数,横线上的素数个数没有变化。2、...
  • python输入并判断一个数是否为素数x=int(input("x\n")); i=2; for i in range(2,x+1): if(x%i==0): break;if(i==x and i。用python 判断一个数是否是素数小编觉得小编的程序是对的但为什么没办法运行,那个弹出来的...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 307
精华内容 122
关键字:

python素数判断函数

python 订阅