给定n(n≤100)个正整数,所有正整数均≤100,000;求其中最大的那个素数。题目保证至少有一个素数。用python实现
时间: 2023-06-01 09:07:17 浏览: 179
python 实现求100之内的素数
5星 · 资源好评率100%
以下是用 Python 实现的代码,它利用 Sieve of Eratosthenes 算法来找到最大的素数:
```
def maximum_prime(n, lst):
sieve = [True] * (max(lst) + 1)
sieve[0] = sieve[1] = False
for i in range(2, int(max(lst) ** 0.5) + 1):
if sieve[i]:
for j in range(i * i, max(lst) + 1, i):
sieve[j] = False
for i in range(n-1, -1, -1):
if sieve[lst[i]]:
return lst[i]
```
你可以通过输入一个正整数列表和列表的长度来调用该函数。例如:
```
lst = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
n = len(lst)
print("最大素数为:", maximum_prime(n, lst))
```
输出结果为:
```
最大素数为: 29
```
阅读全文