编写程序来计算并输出从2到指定整数n(包括n)范围内的所有素数,其中n的值满足2≤n≤10000。输出应包含两部分:第一行为素数的数量,第二行为按升序排列的素数列表,用空格分隔。如何实现这个功能?
时间: 2024-12-24 19:36:07 浏览: 6
要实现这个功能,你可以使用一个名为`is_prime`的辅助函数来检查一个数字是否为素数,然后遍历从2到n的每个数字,对每个数字调用`is_prime`进行判断。如果一个数字是素数,就将其添加到素数列表中。完成遍历后,统计素数的数量并按照要求格式化输出。
下面是Python代码示例:
```python
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
def find_primes(n):
primes = []
for i in range(2, n+1):
if is_prime(i):
primes.append(i)
prime_count = len(primes)
print(f"Number of primes: {prime_count}")
print("Primes:", " ".join(map(str, sorted(primes))))
# 设置n的值
n = 10000
find_primes(n)
```
这段代码首先定义了一个`is_prime`函数用于判断素数,接着在`find_primes`函数中,通过循环查找并存储所有的素数,然后打印出素数数量和排序后的素数列表。
阅读全文