输入一个自然数n,按质数定义从小到大输出1~n(包含n)中所有的质数
时间: 2023-04-30 16:06:41 浏览: 348
打印一个数以内的所有质数
5星 · 资源好评率100%
题目要求根据输入的自然数n,按质数定义从小到大输出1~n(包含n)中所有的质数。
解题思路:
1. 定义判断一个数是否为质数的函数 is_prime(n),如果 n 不是质数,则返回 False,否则返回 True。
2. 定义函数 prime_numbers(n),使用遍历法从小到大遍历 1~n(包含n)的所有自然数,如果当前遍历的数是质数,则将其加入质数列表,并返回质数列表。
参考代码如下:
```
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
def prime_numbers(n):
primes = []
for i in range(1, n+1):
if is_prime(i):
primes.append(i)
return primes
n = int(input("请输入一个自然数n: "))
print("1~{}中的所有质数为: {}".format(n, prime_numbers(n)))
```
阅读全文