python 找素数
时间: 2023-10-15 12:26:21 浏览: 84
要在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 num in range(2, n+1):
if is_prime(num):
primes.append(num)
return primes
n = int(input("请输入一个正整数: "))
primes = find_primes(n)
print("在", n, "以下的素数有:", primes)
```
这段代码定义了两个函数。`is_prime()` 函数用于检查一个数是否为素数,如果是素数则返回 `True`,否则返回 `False`。`find_primes()` 函数用于找出范围 `[2, n]` 内的所有素数,并将它们存储在一个列表中。
你可以通过输入一个正整数 `n` 来运行这段代码,它将输出在 `n` 以下的所有素数。
相关问题
python找质数代码
题目要求编写一个程序,获取用户输入的数字n,计算并输出从n开始的5个质数,每个质数用逗号分隔、分行显示。
以下是Python代码实现:
```
n = int(input("请输入一个数字:"))
count = 0
i = n
while count < 5:
flag = 1
for j in range(2, i):
if i % j == 0:
flag = 0
break
if flag:
count += 1
print(i, end='')
if count < 5:
print(',', end='')
i += 1
```
Python当中找素数
以下是两种Python找素数的方法:
方法一:穷举法
```python
num = [] # 定义一个空列表用来接收找到的符合条件的数字
for i in range(2, 101):
k = 0
for j in range(1, i+1):
if i % j == 0:
k += 1
if k == 2:
num.append(i)
print(num)
```
方法二:埃氏筛法
```python
def find_prime(n):
is_prime = [True] * (n+1) # 初始化所有数为质数
p = 2 # 从2开始筛选
while p * p <= n:
if is_prime[p]:
for i in range(p*p, n+1, p):
is_prime[i] = False # 将p的倍数标记为合数
p += 1
return [i for i in range(2, n+1) if is_prime[i]]
print(find_prime(100))
```
阅读全文