python下判断素数是怎样的呢?下面就让我们一起来了解一下吧:
素数也叫质数,英文名称为prime number,也就是指在一个大于1的自然数中,除了1和该整数的自身外,不可以被其他自然数整除的数,素数在数论中是有着非常重要的地位的。
一般来说,比1大但不是素数的数称之为合数,而1和0既非素数也非合数,素数其实是与合数相对立的两个概念,二者同时构成了数论当中最基础的定义之一。
在python中判断一个数是否为素数通常有几种方法,具体方法为:
1、
#运用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
2、
#单行程序扫描素数
具体的指令为:
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)] ]
3、
#运用python的itertools模块
具体的指令为:
from itertools import count
def isPrime(n): www.2cto.com
if n <= 1:
return False
for i in count(2):
if i * i > n:
return True
if n % i == 0:
return False
以上就是小编的分享了,希望能够帮助到大家。
Python每日一练之判断101-200之间有多少个素数,并输出所有素数
概述
今天主要分享一个判断素数的实例,一起来看看吧~
用Python判断101-200之间有多少个素数,并输出所有素数。
判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 用else可以进一步简化代码.
#/usr/bin/python#需求:用Python判断101-200之间有多少个素数,并输出所有素数。#判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 用else可以进一步简化代码.import mathprint('============第一种方法=================')for i in range(100,200): flag=0 for j in range(2,round(math.sqrt(i)) 1): if i%j==0: flag=1 break if flag: continue print(i)print('============第二种方法=================')print('\nSimplify the code with "else"\n')for i in range(100,200): for j in range(2,round(math.sqrt(i)) 1): if i%j==0: break else: print(i)
输出:
后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下!