输入一个正整数,输出比该正整数小的最大孪生数对
时间: 2023-06-20 22:10:14 浏览: 110
孪生素数对是指相差为2的两个素数,因此我们需要先定义一个函数判断一个数是否为素数。
以下是 Python 代码实现:
```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
```
接下来,我们可以从输入的正整数开始向下遍历,找到一个素数后再判断其加2是否也是素数,如果是,则找到了一个孪生素数对。
以下是完整的 Python 代码实现:
```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
n = int(input("请输入一个正整数:"))
for i in range(n-1, 1, -1):
if is_prime(i) and is_prime(i+2):
print("比该正整数小的最大孪生数对为:{}, {}".format(i, i+2))
break
```
输出结果示例:
```
请输入一个正整数:20
比该正整数小的最大孪生数对为:17, 19
```