编写一个python程序,判断1-100之间有多少个素数,并输出所有素数。
时间: 2024-10-15 15:10:37 浏览: 28
Python例题(一) 输入一个正整数判断是不是素数
编写Python程序来找出1到100之间的素数可以使用经典的“埃拉托斯特尼筛法”(Sieve of Eratosthenes)。这是一个用于查找一定范围内所有质数的有效算法。以下是这个程序的代码:
```python
def find_primes(n):
primes = [True] * (n + 1) # 创建一个布尔列表,初始值都设为True
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
prime_numbers = [i for i, is_prime in enumerate(primes) if is_prime] # 找出所有质数的索引并组成列表
return prime_numbers, len(prime_numbers)
# 输出1到100之间的素数及其个数
prime_list, count = find_primes(100)
print(f"在1到100之间有 {count} 个素数:")
for num in prime_list:
print(num, end=" ")
阅读全文