编写函数,接受一个正偶数参数,输出两个素数,并且这两个素数之和等于原来的 正偶数。如果存在多组符合条件的素数,则全部输出 编写函数,接受一个包含若干证书的列表参数lst,返回一个元组,其中第一个元素 为列表Ist中的最小值,其余元素为最小值在列表中的下标。用python输出
时间: 2024-02-18 18:59:14 浏览: 69
java代码-求100内所有偶素的和
以下是两个函数实现,第一个函数 `get_prime_pairs()` 接受一个正偶数参数,输出两个素数,并且这两个素数之和等于原来的正偶数。如果存在多组符合条件的素数,则全部输出。第二个函数 `get_min_and_index()` 接受一个包含若干证书的列表参数lst,返回一个元组,其中第一个元素为列表Ist中的最小值,其余元素为最小值在列表中的下标。
```python
import math
def is_prime(num):
"""
判断一个数是否为素数
"""
if num <= 1:
return False
for i in range(2, int(math.sqrt(num)) + 1):
if num % i == 0:
return False
return True
def get_prime_pairs(num):
"""
获取一个正偶数参数的两个素数
"""
res = []
for i in range(2, num // 2 + 1):
if is_prime(i) and is_prime(num - i):
res.append((i, num - i))
return res
def get_min_and_index(lst):
"""
获取一个包含若干证书的列表参数lst,返回一个元组,其中第一个元素为列表Ist中的最小值,
其余元素为最小值在列表中的下标。
"""
min_value = min(lst)
min_index = [i for i, x in enumerate(lst) if x == min_value]
return (min_value,) + tuple(min_index)
```
示例:
```python
# 获取 20 的两个素数
print(get_prime_pairs(20)) # 输出 [(3, 17), (7, 13)]
# 获取列表中最小值及其下标
lst = [1, 3, 5, 2, 7, 5, 3, 1]
print(get_min_and_index(lst)) # 输出 (1, 0, 7)
```
阅读全文