python中招素数
时间: 2023-11-06 16:56:28 浏览: 53
素数是指只有1和它本身两个因数的正整数。要编写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)
```
这段代码通过遍历2到100之间的数字,对每个数字进行因数判断。如果一个数字的因数个数等于2,即只有1和它本身两个因数,那么它就是素数。将符合条件的数字存储在`num`列表中,并最后打印出来。
相关问题
python判断素数
以下是两种Python判断素数的方法:
1.使用函数判断素数
```python
def is_prime(n):
"""判断素数的函数,接收一个正整数为参数,参数是素数时返回True,否则返回False"""
if n < 2:
return False # 0、1、负数以及数都不是素数
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
```
2.在控制台中录入一个整数,判断是否为素数
```python
number = int(input("请输入整数:"))
if number < 2:
print("不是素数")
else:
for i in range(2, int(number ** 0.5) + 1):
if number % i == 0:
print("不是素数")
break
else:
print("是素数")
```
Python求真素数
在 Python 中,求真素数(Prime Numbers)通常是指大于1的自然数,除了1和它本身以外,不能被其他自然数整除的数。你可以使用循环、条件判断以及一些优化算法来实现这个功能。以下是一个简单的 Python 函数,使用埃拉托斯特尼筛法(Sieve of Eratosthenes)来找出真素数:
```python
def find_primes(n):
primes = [True for _ in range(n+1)]
p = 2
while p * p <= n:
if primes[p]:
# 把p的倍数标记为非素数
for i in range(p * p, n+1, p):
primes[i] = False
p += 1
# 返回n范围内的所有素数
return [i for i in range(2, n) if primes[i]]
# 使用函数
primes_under_50 = find_primes(50)
```
在这个代码中,`find_primes` 函数首先创建了一个布尔列表 `primes`,假设从2到n的所有数字都是素数。然后从2开始,遍历列表中的每个素数 `p`,将它的所有倍数标记为非素数。最后筛选出仍然标记为 `True` 的数,就是素数。