用python求第n个质数,输入n,输出第n个质数
时间: 2024-05-14 18:18:00 浏览: 175
可以使用以下代码来求解第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 nth_prime(n):
count = 0
num = 2
while count < n:
if is_prime(num):
count += 1
num += 1
return num - 1
n = int(input("请输入n:"))
print("第{}个质数为:{}".format(n, nth_prime(n)))
```
首先定义一个`is_prime()`函数,用于判断一个数是否为质数。然后定义`nth_prime()`函数,用于求解第n个质数。初始化count为0,num为2,循环判断num是否为质数,如果是,则count加1,直到count等于n为止。最后返回num-1即可。
运行程序后,输入n的值,即可输出第n个质数的值。
相关问题
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` 比较大时,会比较慢。
Python:输入一个正整数n,求第n小的质数
可以使用一个函数is_prime(num)来判断一个数是否为质数,然后从2开始遍历自然数,直到找到第n个质数为止。
代码如下:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
def nth_prime(n):
count = 0
num = 2
while True:
if is_prime(num):
count += 1
if count == n:
return num
num += 1
```
使用示例:
```python
print(nth_prime(1)) # 2
print(nth_prime(10)) # 29
print(nth_prime(100)) # 541
```
阅读全文