知行编程网知行编程网  2022-08-14 02:00 知行编程网 隐藏边栏  14 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python判断一个数是否为素数的相关知识,包括编程判断一个整数n是否素数,以及python判断1~100素数这些编程知识,希望对大家有参考作用。

python检查一个数字是否是素数

素数也称为素数。在大于 1 的自然数中,除 1 和整数本身外,它不能被其他自然数整除。素数在数论中起着重要作用。大于 1 但不是素数的数称为合数。 1 和 0 既不是质数也不是合数。素数是与合数相对的两个概念,合数构成了数论中最基本的定义之一。有许多基于素数定义的世界级问题,例如哥德巴赫猜想。算术基本定理证明了每一个大于1的正整数都可以写成素数的乘积,而且这个乘积的形式是唯一的。这个定理的重点是 1 被排除在素数集合之外。如果将 1 视为素数,那么这些严格的公式必须施加一些限制。

python学习网,大量的免费
,欢迎在线学习!

一个大于1的整数,不是素数就是合数;

任何一个合数都可以分解为几个素数的乘积;

除了2,3,5以外,素数均以1,3,7,9为结尾;

素数有无穷多个;

两个素数之间只有2和3相差1,只有2和5相差3;

两个素数间差值为2的成为孪生素数,如2和3,3和5;

孪生素数推测有无穷多对……


总结python脚本判断一个数是否为素数的几种方法:


运用python的数学函数

import math
def isPrime(n):
    if n <= 1:
    return False
    for i in range(2, int(math.sqrt(n)) + 1):
    if n % i == 0:
        return False
    return True


单行程序扫描素数

from math import sqrt  
N = 100 
[ p for p in range(2, N) if 0 not in [ p% d for d in range(2, int(sqrt(p))+1)] ]


运用python的itertools模块

from itertools import count  
def isPrime(n):
    if n <= 1:  
        return False 
    for i in count(2):  
        if i * i > n:  
            return True 
        if n % i == 0:  
            return False


不使用模块的两种方法

方法一:

def isPrime(n):  
    if n <= 1:  
        return False 
    i = 2 
    while i*i <= n:  
        if n % i == 0:  
            return False 
        i += 1 
    return True

方法二:

def isPrime(n):  
    if n <= 1:  
        return False 
    if n == 2:  
        return True 
    if n % 2 == 0:  
        return False 
    i = 3 
    while i * i <= n:  
        if n % i == 0:  
            return False 
        i += 2 
    return True

众多
,尽在python学习网,欢迎在线学习!

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享