编写函数,实现输出100以内质数的功能
时间: 2024-12-23 11:24:21 浏览: 1
编写一个函数来找出100以内的所有质数,可以采用经典的“筛法”(又称埃拉托斯特尼筛法)。这里是一个简单的Python版本:
```python
def find_primes(n):
primes = [True] * (n + 1) # 初始化一个布尔数组表示所有数字都是质数
primes[0], primes[1] = False, False # 0和1不是质数
for num in range(2, int(n ** 0.5) + 1): # 只需要检查到根号n
if primes[num]:
# 如果num是质数,将其倍数标记为非质数
for multiple in range(num ** 2, n + 1, num):
primes[multiple] = False
# 输出所有质数
for num, is_prime in enumerate(primes):
if is_prime and num > 1:
print(num)
# 调用函数,输出100以内的质数
find_primes(100)
```
这个函数首先假设所有数字都是质数,然后从2开始,如果发现某个数字是质数,就将其倍数标记为非质数。最后,只打印出那些在遍历过程中仍然标记为质数的数字。
相关问题
编写程序,实现输出100以内质数的功能
```python
# Python程序
def is_prime(n):
if n < 2:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
for i in range(2, 101):
if is_prime(i):
print(i)
```
这个程序定义了一个函数 `is_prime`,用于判断一个数是否为质数。然后在主程序中使用循环从 2 到 100 枚举数字,判断每个数字是否为质数,如果是质数则输出。
编写程序,实现输出100以内质数的功能。
好的,以下是 Python 代码实现,输出 100 以内的质数:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
def prime_numbers(limit):
primes = []
for num in range(2, limit+1):
if is_prime(num):
primes.append(num)
return primes
print(prime_numbers(100))
```
该程序定义了两个函数:`is_prime` 和 `prime_numbers`。`is_prime` 函数判断一个数是否为质数,如果是质数返回 `True`,否则返回 `False`。`prime_numbers` 函数生成一个列表,其中包含了从 2 到给定上限之间的所有质数。
在程序中,我们首先定义了 `is_prime` 函数,该函数使用了一个简单的算法来判断一个数是否为质数。该算法遍历从 2 开始到该数的平方根之间的所有数,如果其中存在能够整除该数的数,则该数不是质数,否则该数是质数。
接下来,我们定义了 `prime_numbers` 函数,该函数使用了 `is_prime` 函数来生成一个包含了所有质数的列表。该函数使用了一个简单的循环,从 2 开始到给定的上限之间的所有数,对于每个数,如果它是质数,则将其加入到 `primes` 列表中。最后,该函数返回 `primes` 列表。
最后,在程序的最后一行,我们调用 `prime_numbers` 函数,并将其结果打印到控制台上。输出结果为:
```
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
```
阅读全文