第n小的质数python
时间: 2024-01-11 18:19:46 浏览: 35
以下是一个求第n小质数的 Python 代码:
```python
def nth_prime(n):
primes = [2]
num = 3
while len(primes) < n:
for i in primes:
if num % i == 0:
break
else:
primes.append(num)
num += 2
return primes[-1]
# 示例
print(nth_prime(1)) # 输出:2
print(nth_prime(10)) # 输出:29
print(nth_prime(100)) # 输出:541
```
该代码使用了质数的定义:只能被1和自身整除的自然数。因此,从3开始,每次增加2(因为偶数不可能是质数),依次判断是否被已知质数整除。如果都不能整除,则说明该数是质数,加入到质数列表中。当质数列表长度达到n时,返回列表中的最后一个元素即为第n小质数。
相关问题
44:第n小的质数 python
以下是一个找第n小质数的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 nth_prime(n):
"""
找到第n小的质数
"""
count = 0
num = 2
while True:
if is_prime(num):
count += 1
if count == n:
return num
num += 1
```
通过调用 `nth_prime(n)` 函数,可以找到第n小的质数。例如,要找到第10小的质数,可以调用 `nth_prime(10)`,它将返回29。
python求第n小质数
可以使用以下代码来求第n小的质数:
```python
def nth_prime(n):
count = 0
num = 2
while True:
if all(num % i != 0 for i in range(2, int(num ** 0.5) + 1)):
count += 1
if count == n:
return num
num += 1
```
其中,`count` 记录已经找到的质数的数量,`num` 从2开始逐个判断是否为质数。如果 `num` 是质数,则 `count` 加1。当 `count` 等于 `n` 时,返回当前的 `num`。
注意:这个方法并不是最优的,当 `n` 比较大时,会比较慢。
相关推荐
![md](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)