5.5双层for循环练习-输入正整数n,输出n以内的全部素数,并输出n以内所有素数个数
时间: 2024-11-27 08:19:22 浏览: 4
5.5 双层for循环练习通常是为了帮助理解如何遍历并筛选出特定范围内的素数。首先,你需要明白什么是素数。素数是指大于1的自然数,除了1和它本身以外不再有其他因数。
以下是使用Python编写的一个简单程序,用于找出给定范围内(0到n)的所有素数:
```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 find_primes(n):
primes = []
count = 0
for i in range(2, n+1): # 外层循环遍历从2到n
if is_prime(i): # 内层循环检查每个数字是否是素数
primes.append(i)
count += 1
print("在0到{}范围内的素数有:".format(n), primes)
print("共有{}个素数。".format(count))
# 用户输入n
n = int(input("请输入一个正整数n: "))
find_primes(n)
```
在这个程序中,我们首先定义了一个`is_prime`函数来判断一个数是否是素数。接着,在`find_primes`函数里,通过外层循环遍历从2到n的每一个数,如果该数是素数,则将其加入`primes`列表并增加计数器`count`。最后,打印出素数列表及其个数。
阅读全文