一百以内孪生素数对Python
时间: 2025-05-03 21:44:19 浏览: 22
要在一百以内找到所有的孪生素数对,我们可以采用简单的素数检测方法,并逐一检查每一对相差为2的数字是否都为素数。下面是具体的实现步骤以及完整的Python代码示例:
### 步骤解析
1. 定义一个辅助函数`is_prime()`来判断某个整数是否是素数。
- 对于小于2的数直接返回False;
- 遍历从2到该数开方的所有整数,若能整除则不是素数。
2. 创建一个空列表存储符合条件的孪生素数对。
3. 循环遍历从2开始的一百以内的所有奇数(因为偶数除了2以外都不是素数),对于每一个当前值x,
- 如果 x 和 x+2 同时满足`is_prime(x)`和`is_prime(x+2)`条件,则将其加入结果列表中作为一对孪生素数。
4. 打印最终的结果列表即可获得所求的答案。
下面给出完整代码:
```python
def is_prime(n):
""" 判断输入正整数n是否为质数 """
if n <= 1:
return False
elif n == 2 or n == 3:
return True
elif n % 2 == 0:
return False
else:
sqrt_n = int(n**0.5) + 1
for divisor in range(3, sqrt_n, 2): # 只需测试到sqrt(n)
if n % divisor == 0:
return False
return True
twin_primes_under_100 = []
for number in range(2, 100-1): # 因为我们考虑number和number+2的关系
if is_prime(number) and is_prime(number + 2):
twin_primes_under_100.append((number, number + 2))
print("100以内的孪生素数对:", twin_primes_under_100)
```
运行上述程序会得到如下输出:
```
100以内的孪生素数对: [(3, 5), (5, 7), (11, 13), (17, 19), (29, 31), (41, 43), (59, 61), (71, 73)]
```
这表示在一百之内共有八组这样的孪生素数对。
阅读全文
相关推荐

















