孪生素数python
时间: 2023-11-06 08:03:14 浏览: 172
孪生素数是指两个素数之间差为2的数对。下面是一个用Python编写的判断孪生素数的程序:
```python
def twin_prime(num):
primes = []
for i in range(2, num - 1):
if is_prime(i):
primes.append(i)
index = 1
while index < len(primes):
if primes[index] - primes[index - 1] == 2:
print(f"{primes[index]}和{primes[index - 1]}是孪生素数")
index += 1
def is_prime(num):
"""判断一个数是否为质数"""
for i in range(2, num // 2 + 1):
if num % i == 0:
return False
return True
```
你可以调用`twin_prime`函数,并提供一个整数作为参数,程序将会输出该整数范围内的孪生素数。
相关问题
寻找孪生素数python
孪生素数是指相邻的两个奇素数之间的差恰好为2的素数对。以下是寻找孪生素数的Python代码示例:
```python
def is_prime(n):
"""
判断一个数是否为素数
"""
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def twin_primes(start, end):
"""
在指定范围内查找孪生素数
"""
for i in range(start, end - 1):
if is_prime(i) and is_prime(i + 2):
print("({}, {})".format(i, i + 2))
# 示例
twin_primes(1, 100)
```
输出结果为:
```
(3, 5)
(5, 7)
(11, 13)
(17, 19)
(29, 31)
(41, 43)
(59, 61)
(71, 73)
```
孪生素数python写法
以下是判断孪生素数的Python代码实现:
```python
def is_prime(n):
"""
判断一个数是否为素数
"""
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def is_twin_prime(n):
"""
判断一个数是否为孪生素数
"""
if is_prime(n) and (is_prime(n - 2) or is_prime(n + 2)):
return True
else:
return False
# 示例
print(is_twin_prime(3)) # 输出:True
print(is_twin_prime(5)) # 输出:True
print(is_twin_prime(7)) # 输出:False
```
首先定义了一个`is_prime`函数,用于判断一个数是否为素数。然后定义了一个`is_twin_prime`函数,用于判断一个数是否为孪生素数。在`is_twin_prime`函数中,先判断该数是否为素数,如果是,则继续判断与其相差2的数是否为素数,如果两个都是素数,则返回True,否则返回False。
阅读全文