Python用函数输出2-100间的所有孪生素数
时间: 2024-02-03 10:13:26 浏览: 173
孪生素数是指相差为2的两个素数,因此可以先写一个函数用于判断一个数是否为素数,然后再遍历2-100间的所有数,判断其是否为素数并且其相邻的数也是素数。
下面是代码实现:
```python
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 twin_primes():
for i in range(2, 99):
if is_prime(i) and is_prime(i+2):
print("({}, {})".format(i, i+2))
twin_primes()
```
输出结果为:
```
(3, 5)
(5, 7)
(11, 13)
(17, 19)
(29, 31)
(41, 43)
(59, 61)
(71, 73)
```
这些都是2-100间的孪生素数。
相关问题
输入2-100所有孪生素数 设计函数实现
以下是一个 Python 的函数实现,可以输出 2-100 之间的所有孪生素数:
```python
def twin_primes(start, end):
primes = []
for num in range(start, end+1):
if all(num%i!=0 for i in range(2, int(num**0.5)+1)):
primes.append(num)
twin_primes = []
for i in range(len(primes)-1):
if primes[i+1] - primes[i] == 2:
twin_primes.append((primes[i], primes[i+1]))
return twin_primes
print(twin_primes(2, 100))
```
该函数使用了一个简单的质数判断算法,即除了 2 以外的所有偶数都不是质数,因此只需要判断奇数是否为质数。同时,该函数还使用了一个列表来存储所有的孪生素数,最后返回这个列表。
用python打印1-100以内的孪生质数
双胞胎质数是指两个连续的质数,比如 (3, 5)、(5, 7),它们之间的差恰好是2。在Python中,我们可以编写一个函数来找出并打印1到100范围内的孪生质数。以下是实现这个功能的一个简单示例:
```python
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_twin_primes(start, end):
twin_primes = []
for num in range(start, end):
if is_prime(num) and (num + 2) <= end and is_prime(num + 2):
twin_primes.append((num, num + 2))
return twin_primes
# 打印1到100之间的孪生质数
start = 1
end = 100
primes = find_twin_primes(start, end)
for pair in primes:
print(f"({pair[0]}, {pair[1]})")
阅读全文