精华内容
下载资源
问答
  • python用函数判断素数
    万次阅读
    2021-10-19 17:38:26

    题目

    用函数判断一个数是否是素数

    prime(p), 其中函数prime当用户传入参数p为素数时返回True,否则返回False。

    思路

    1、先输入一个要判断的数

    2、编写函数,判断素数,输出flag

    代码

    import math
    p=eval(input("请输入您要判读是否是素数的数值:"))
    k=int(math.sqrt(p))
    def prime(p):
        i=2
        flag=True
        while (i<=k and flag==True):
            if p%i==0:
                flag=False
            else:
                i+=1
        return flag
    print(prime(p))

    结果

    请输入您要判读是否是素数的数值:6
    False

    更多相关内容
  • 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)

    展开全文
  • Python 内置函数判断素数

    千次阅读 2021-06-19 22:46:05
    #coding=utf-8 # 输入一个整数n n = int(input()) # 请在此添加代码,对输入的整数进行判断,如果是素数则输出为True,不是素数则输出为False #********** Begin *********# #定义一个函数prime def prime(n): """ ...

    数学运算

    abs():返回数值的绝对值;
    例如:

    abs(-4)
    4

    divmod():返回两个数值的商和余数;
    例如:

    divmod(7,2)
    (3,1)

    max():返回元素中的最大值;
    例如:

    max(2,6,1,7)
    7

    min():返回元素中的最小值;
    例如:

    min(2,6,1,7)
    1

    sum():返回传入元素之和。
    例如:

    sum((1,2,3,4))
    10
    sum([1,2,3,4])
    10
    sum((1,2,3,4),-10)
    0

    类型转换

    bool():根据传入的参数的逻辑值创建一个新的布尔值;
    例如:

    bool()
    False
    bool(1)
    True
    bool(0)
    False
    bool(‘str’)
    True

    int():根据传入的参数创建一个新的整数;
    例如:

    int(‘3’)
    3
    int(‘3.6’)
    3

    float():根据传入的参数创建一个新的浮点数;
    例如:

    float() #不提供参数的时候,返回0.0
    0.0
    float(3)
    3.0
    float(‘3’)
    3.0

    complex():根据传入的参数创建一个新的复数。
    例如:

    complex() #当两个参数都不提供时,返回复数0j
    0j
    complex(‘2+4j’)
    (2+4j)
    complex(1,2)
    (1+2j)

    序列操作

    all():判断可迭代对象的每个元素是否都为True值;
    例如:

    all([1,2,3]) #列表中每个元素逻辑值均为True,返回True
    True
    all([0,1,2]) #列表中0的逻辑值为False,返回False
    False
    all(()) #空元组
    True

    any():判断可迭代对象的元素是否有为True值的元素;
    例如:

    any([0,1,2]) #列表元素有一个为True,则返回True
    True
    any([0,0]) #列表元素全部为False,则返回False
    False
    any([]) #空列表
    False

    sorted():对可迭代对象进行排序,返回一个新的列表。
    例如:

    a = [‘a’,‘b’,‘d’,‘c’,‘B’,‘A’]
    a
    [‘a’, ‘b’, ‘d’, ‘c’, ‘B’, ‘A’]
    sorted(a) # 默认按字符ascii码排序
    [‘A’, ‘B’, ‘a’, ‘b’, ‘c’, ‘d’]

    对象操作

    help():返回对象的帮助信息;

    dir():返回对象或者当前作用域内的属性列表。

    交互操作
    print():向标准输出对象打印输出;

    input():读取用户输入值。

    文件操作
    open():使用指定的模式和编码打开文件,返回文件读写对象。
    例如:

    
    ```python
    # t为文本读写,b为二进制读写
    >>> a = open('test.txt','rt')
    >>> a.read()
    'some text'
    >>> a.close()
    

    编程要求

    本关的编程任务是补全src/Step2/prime.py文件的代码,实现相应的功能。具体要求如下:

    定义一个函数,功能是判断一个数是否为素数;
    调用函数,对输入的整数进行判断,如果是素数则输出为True,不是素数则输出为False。

    本关涉及的代码文件src/Step2/prime.py的代码框架如下:

    #coding=utf-8
    # 输入一个整数n
    n =  int(input())
    # 请在此添加代码,对输入的整数进行判断,如果是素数则输出为True,不是素数则输出为False
    #********** Begin *********#
    print(prime(n))
    #********** End **********#
    

    测试说明
    本关的测试文件是src/Step2/prime.py,测试过程如下:

    平台自动编译生成prime.exe;
    平台运行prime.exe,并以标准输入方式提供测试输入;
    平台获取prime.exe输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。

    以下是平台对src/Step2/prime.py的样例测试集:

    测试输入:

    1

    预期输出:

    False

    测试输入:

    3

    预期输出:

    True

    测试输入:

    9

    预期输出:

    False

    测试输入:

    4

    预期输出:
    False

    测试输入:

    17

    预期输出:

    True

    代码:

    #coding=utf-8
    
    # 输入一个整数n
    n =  int(input())
    
    # 请在此添加代码,对输入的整数进行判断,如果是素数则输出为True,不是素数则输出为False
    #********** Begin *********#
    #定义一个函数prime
    def prime(n):
        """
        素数的定义:一个数如果只能被1和自身整除,
        则该数为素数。如果用编程的思维思考,则是说,
        如果一个数被比它小的数(1除外)整除后余数为0,
        则说明这个数可以被其他数整除,则该数为合数,否则该数为质数。
        """
        #判断输入的数字是不是素数
        if n > 1:
            #循环遍历从2到n-1的数赋值给i
            for i in range(2,n):
                #判断n除了1和本身外能否被其他的数字整除
                if ((n % i) == 0):
                    #能被整除,不是素数
                    return False
            else:
                #不能被整除,是素数
                return True
        else:
            #不是素数
            return False
    print(prime(n))
    #********** End **********#
    
    展开全文
  • 本文,用python3写一个判别素数的自定义函数。工具/材料python3.6math模块time模块操作方法01根据素数的定义,写一个粗略的自定义函数:def p(n):if str(n).isdigit() and n>1:for i in range(2,n-1):if n%i==0:...

    本文,用python3写一个判别素数的自定义函数。

    工具/材料

    python3.6

    math模块

    time模块

    操作方法

    01

    根据素数的定义,写一个粗略的自定义函数:

    def p(n):

    if str(n).isdigit() and n>1:

    for i in range(2,n-1):

    if n%i==0:

    return False

    return True

    else:

    print('变量有误,请输入大于1的整数。')

    02

    先检验一下这个函数是否靠谱:

    for i in range(36):

    print(i,'    ',p(i))

    看来还是挺靠谱的。

    03

    我们查看一下,用这个函数检测8000以内的所有素数,需要用多长时间:

    import time

    a=time.clock()

    for i in range(2,8000):

    p(i)

    b=time.clock()

    print('用时%s秒。'%(b-a))

    04

    前30000个素数的判别,用时为2秒多点。

    05

    用这个函数判断2^100+45是否素数,用时长达36秒:

    import time

    a=time.clock()

    i=2**100+45

    p(i)

    b=time.clock()

    print('用时%s秒。'%(b-a))

    06

    我们来写出2^100+45最小的素因子,就得先修改自定义函数:

    def p(n):

    if str(n).isdigit() and n>1:

    for i in range(2,n-1):

    if n%i==0:

    print(i)

    return False

    return True

    else:

    print(n,'变量有误,请输入大于1的整数。')

    然后开始检测:

    import time

    a=time.clock()

    i=2**100+45

    print(p(i))

    b=time.clock()

    print('用时%s秒。'%(b-a))

    07

    再检验一下:

    print((2**100+45)%178691549)

    运行结果等于0,说明2^100+45确实不是素数。

    好了,以上就是大致内容了,(END)

    如果某个素数很大,用本文的方法进行判断,将会很费时。所以,本文给出的自定义函数还需要改进。

    给定数字n^2,如果用不大于n的素数进行检验,无疑可以节省大量时间。然而又有另一个问题,那就是我们需要提前给定小于n的所有素数。而小于n的所有素数的检测,也会比较耗时。大家比较一下,应该怎么写代码比较好。

    声明:该文观点仅代表作者本人,天晴资讯网系信息发布平台,仅提供信息存储空间服务。

    展开全文
  • python怎么判断素数

    2020-09-16 14:27:44
    在本篇文章里小编给大家整理了关于python判断素数的方法和代码,需要的朋友们可以学习下。
  • 质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。质数是与合数相对立的两个概念,...
  • 使用Python判断质数(素数)的简单

    千次阅读 2020-12-30 11:38:39
    这篇文章主要介绍了使用Python判断质数(素数)的简单方法讲解,经常被用来做科学计算的Python处理这种小问题当然手到擒来^_-需要的朋友可以参考下质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被...
  • 用PYTHON编写一个小程序,输出所有满足条件的素数k=[2,3,5,7,11,13,17,19,23,29,31]foriinrange(100,998):if(i%10 i%100//10)%10==(i//100):formink:ifi%m==0:breakifm==31:print(i)对于这种算有自己的一...
  • Python|自定义判断质数函数

    千次阅读 2020-08-12 15:45:40
    用Python制作一个判断数字是否为质数函数 如果有更好的思路,欢迎评论区交流(●’◡’●) 函数描述 质数:在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 自然数:数码0,1,2,3,4……所表示...
  • 下面小编就为大家带来一篇Python 判断是否为质数素数的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • Python计算-质数判断

    千次阅读 2020-12-10 21:15:17
    python 如何判断一个数是不是质数让这个数除,从2... import math def is_prime(n): # 简化问题,先利用函数判断是否为质数 if n == 1: # =是赋值,==才是判断,切记切记 return False for i in range(2, int(math...
  • python 3)判断素数

    千次阅读 2020-07-07 15:40:26
    python 3判断素数函数 代码: #函数用来判断是否为素数 def isprime(n): #n为2或3,可以直接判断是素数 if n == 2 or n == 3: return True #n可以被2或3整除,可以直接判断不是素数 if n % 2 == 0 or n % 3 ...
  • python判断是否为素数

    千次阅读 2020-11-24 03:49:46
    质数(prime number)又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。...总结python脚本判断一个数是否为素数的几种方法:#运用python的数学函数import mathdef isPrime(n):i...
  • Python判断质数函数

    万次阅读 多人点赞 2018-07-28 13:49:34
    def is_prime(x): if x &amp;lt;=1: return False for i in range(2, x): if x % i == 0: break else: return True return False 代码使用for…else循环
  • python判断素数

    万次阅读 多人点赞 2021-02-24 20:05:38
    方法就是:数x对从2到x平方根依次取模,如果结果为0,说明x不是质数,如果一遍判断下来取模结果都不为0,则说明x为素数 import math x = int(input()) f = 0 for i in range(2,int(math.sqrt(x))): if x % i == ...
  • 1、这段代码的功能一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行。因此if __name__ == 'main': 的作用就是控制这两种情况执行代码的...
  • (4)质数的个数公式 是不减函数。 (5)若n为正整数,在 到 之间至少有一个质数。 (6)若n为大于或等于2的正整数,在n到 之间至少有一个质数。 (7)若质数p为不超过n( )的最大质数,则 。 (8)所有大于10的...
  • Python素数检测的方法

    2020-12-25 02:14:07
    本文实例讲述了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...
  • https://github.com/ixiaoyu-tech判断一个数是否是素数是每一门语言在学习之初都需要去写的一个程序,今天小玉跟大家分享一下我自己用python写的一个关于判断输入的数是否为素数的程序源码。...
  • 编写一个函数isprime(n),判断是否为素数,在主程序中测试此函数,输入一个整数,函数判断,当为素数时,输出1,否则,输出0
  • python判断素数函数

    千次阅读 2020-11-20 22:24:39
    来看这一种判断素数质数)的函数: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看起来,这是一种比较优秀的方法了,...
  • 素数是只能被1与自身整除的数,根据定义,我们可以实现第一种算法。算法一:defisprime(n):if n < 2: returnFalsefor i in range(2,int(math.sqrt(n))+1):if n % i ==0:returnFalsereturn True任意一个合数都可...
  • 用python 判断一个数是否是素数小编觉得小编的程序是对的但为什么没办法运行,那个弹出来的窗口是啥意思小编曾千万次的请分享:不要逼小编离开你,不要让小编们的海誓山盟成为痛苦的记忆,不要你的残忍告诉...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,186
精华内容 4,074
关键字:

python用函数判断素数

友情链接: DCT_Root-Locus.rar