3种方式获取100以内的质数(Python)
下面是使用Python获取100以内质数的三种方法:
- 普通方法:
这是最简单的方法,通过遍历100以内的所有数字,使用一个简单的规则来判断一个数是否为质数。质数是指只有1和其本身能够整除的一个正整数,因此我们可以通过检查一个数是否能被2到其平方根之间的任何整数整除来判断它是否为质数。
import math
primes = [2]
for num in range(3, 100):
if all(num % div != 0 for div in range(2, int(math.sqrt(num)) + 1)):
primes.append(num)
print(primes)
- 使用列表推导式:
列表推导式是一种更简洁的方式来创建列表。它的工作原理与普通的for循环相同,只是它会生成一个新的列表。
import math
primes = [2] + [num for num in range(3, 100) if all(num % div != 0 for div in range(2, int(math.sqrt(num)) + 1))]
print(primes)
- 使用生成器:
生成器是一种able对象,使用时它们会计算并返回一个序列中的下一个值,而不是创建一个完整的序列。这样可以节省内存,特别是当你需要生成大量数据时。
import math
def primes(n):
if n <= 2:
yield 2
for num in range(3, n):
if all(num % div != 0 for div in range(2, int(math.sqrt(num)) + 1)):
yield num
print(list(primes(100)))
以上三种方法都可以获取100以内的质数,第一种和第二种方法都会创建一个包含质数的列表,第三种方法会创建一个生成器,可以用来逐个生成质数。
评论已关闭