判断一个数是否为素数的方法有以下几种:
def is_prime(n):
if n <= 1:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
import math
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
def sieve_of_eratosthenes(n):
is_prime = [True] * (n + 1)
is_prime[0] = is_prime[1] = False
p = 2
while p * p <= n:
if is_prime[p]:
for i in range(p * p, n + 1, p):
is_prime[i] = False
p += 1
primes = []
for i in range(2, n + 1):
if is_prime[i]:
primes.append(i)
return primes
以上是一些常用的判断素数的方法,不同方法的效率不同,可以根据具体需求选择合适的方法。