用Python输出n以内的所有素数
时间: 2023-07-16 11:12:29 浏览: 179
可以使用以下代码来输出n以内的所有素数:
```python
def find_primes(n):
"""
输出n以内的所有素数
"""
primes = []
for num in range(2, n+1):
# 判断num是否为素数
is_prime = True
for i in range(2, int(num**0.5)+1):
if num % i == 0:
is_prime = False
break
if is_prime:
primes.append(num)
return primes
# 测试
print(find_primes(20)) # 输出[2, 3, 5, 7, 11, 13, 17, 19]
```
在上述代码中,我们定义了一个函数 `find_primes`,该函数接受一个整数 `n` 作为参数,返回一个列表,其中包含从2到n之间的所有素数。对于每个数字 `num`,我们使用一个循环来检查它是否为素数。如果 `num` 能被2到 $\sqrt{num}$ 之间的任何整数整除,那么 `num` 就不是素数。如果 `num` 不是素数,则继续检查下一个数字;否则,将其添加到 `primes` 列表中。最后,我们返回 `primes` 列表。
相关问题
python 输出n以内所有的质数1
好的,我可以帮你写一个 Python 代码来输出n以内的所有质数。代码如下:
```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 print_prime(n):
prime_list = []
for i in range(2, n+1):
if is_prime(i):
prime_list.append(i)
print(prime_list)
print_prime(100)
```
这个代码中,我们定义了两个函数。第一个函数 is_prime(num) 用于判断一个数是否是质数,如果是质数则返回 True,否则返回 False。第二个函数 print_prime(n) 用于输出 n 以内的所有质数。
我们先遍历 2 到 n 的所有数字,然后依次判断每个数字是否是质数。如果是质数,则将其加入到一个列表 prime_list 中。最后,我们输出这个列表 prime_list 即可。
运行上述代码,输出结果为:
```
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
```
Python输出N以内的所有素数
筛法求素数:示例代码如下:
```python
def find_prime(n):
is_prime = [True] * (n + 1) # 初始化所有数为素数
is_prime[0] = is_prime[1] = False # 0和1不是素数
for i in range(2, int(n ** 0.5) + 1):
if is_prime[i]:
# 将 i 的倍数标记为合数
for j in range(i * i, n + 1, i):
is_prime[j] = False
# 返回所有素数
return [i for i in range(2, n + 1) if is_prime[i]]
n = int(input("请输入一个正整数n:"))
print("输出所有小于等于n的素数:", find_prime(n))
```
输入一个正整数n,程序将输出所有小于等于n的素数。
阅读全文