题目:找出200以内的质数题目解析:质数为除了1和本身两个因数,没有其他因素的自然数(最小质数为2)输入:无输出:200以的质数以逗号隔开,请你用python代码帮我实现
时间: 2024-09-12 13:13:28 浏览: 37
要编写一个Python程序,找出200以内的所有质数,可以使用埃拉托斯特尼筛法(Sieve of Eratosthenes)。这是一种经典算法,通过不断排除合数来筛选出质数。以下是实现该功能的代码:
```python
def find_primes(n):
primes = [True] * (n + 1) # 初始化一个布尔数组,所有元素都设为真
primes[0], primes[1] = False, False # 0和1不是质数
for i in range(2, int(n**0.5) + 1): # 只需要检查到根号n即可
if primes[i]: # 如果i是质数
for j in range(i*i, n + 1, i): # 将i的倍数标记为非质数
primes[j] = False
# 输出200以内的质数
result = [i for i in range(2, n + 1) if primes[i]]
return ', '.join(map(str, result)) # 以逗号分隔输出
# 示例
primes_in_200 = find_primes(200)
print(primes_in_200)
```
这段代码首先创建了一个布尔数组`primes`,其中`primes[i]`表示`i`是否为质数。接着使用嵌套循环从2开始遍历,遇到质数就更新它的倍数为非质数。最后,筛选出200范围内的质数并以逗号分隔返回。
阅读全文