素数也称为素数。在大于 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学习网,欢迎在线学习!
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python中的%是什么?如何使用?09/15
- ♥ len在python中是什么意思10/27
- ♥ 如果 python json.loads 失败怎么办10/06
- ♥ 为什么python不适合web开发08/20
- ♥ python如何使用文件夹中的脚本?01/13
- ♥ Python 新手 FAQ 1:搞乱表达式01/13
内容反馈