📅  最后修改于: 2023-12-03 15:26:11.611000             🧑  作者: Mango
在数组中查找最小和最大素数是程序员常常需要解决的问题。素数是只能被1和自身整除的自然数。以下是一个解决这个问题的示例算法:
import sys
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
def find_min_max_primes(arr):
current_min = sys.maxsize
current_max = -sys.maxsize
for num in arr:
if is_prime(num):
if num < current_min:
current_min = num
if num > current_max:
current_max = num
return current_min, current_max
arr = [2, 3, 6, 7, 9, 10, 13, 17]
min_prime, max_prime = find_min_max_primes(arr)
print("Minimum Prime: ", min_prime)
print("Maximum Prime: ", max_prime)
Minimum Prime: 2
Maximum Prime: 17
以上就是一个简单的算法来寻找数组中最小和最大的素数。如果需要寻找数组中所有的素数,可以在 is_prime() 方法中增加对数字素性的检验,并在循环中添加对这个方法的调用。