1、在while True的前面一行添加一个变量用于接收输入的n:num=int(input());
2、判断条件if t == 5,修改成if t == num。
望采纳,谢谢!
详细修改后的代码和注释如下,望采纳
# 用于判断一个数是否为素数的函数
def is_prime(n: int) -> bool:
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
# 用于找出指定个数的默尼森数的函数
def find_m_primes(n: int) -> List[int]:
# 用于保存结果的列表
result = []
# 枚举 P 的值,并判断是否为默尼森数
p = 2
while len(result) < n:
# 计算 M 的值
m = 2 ** p - 1
# 如果 P 和 M 都是素数,则将 M 加入结果列表
if is_prime(p) and is_prime(m):
result.append(m)
# 继续枚举下一个 P 的值
p += 1
# 返回结果列表
return result
# 找出 5 个默尼森数
print(find_m_primes(5))
# 输出:[3, 7, 31, 127, 8191]