用python编写程序找到1000以内的符合条件的素数数对,要求后一个数减去前一个数等于2,输出所有符合上述条件的素数数对。
时间: 2024-02-17 22:05:08 浏览: 57
好的,这是一个很好的算法问题。我们可以使用 Python 编写一个程序来找到 1000 以内的所有素数,然后在这些素数中寻找符合条件的数对。
下面是代码实现:
```python
# 判断一个数是否为素数
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5)+1):
if num % i == 0:
return False
return True
# 找到1000以内的素数数对
for i in range(2, 1000):
if is_prime(i) and is_prime(i+2):
print(f"({i}, {i+2})")
```
在这个程序中,我们定义了一个 `is_prime` 函数,用于判断一个数是否为素数。接着,我们使用一个循环来遍历 2 到 1000 之间的所有数,对于每个数,我们使用 `is_prime` 函数来判断它是否为素数,如果是素数,再判断它后面的一个数是否也为素数,如果是素数,则输出这两个数构成的数对。
运行程序,输出结果如下:
```
(3, 5)
(5, 7)
(11, 13)
(17, 19)
(29, 31)
(41, 43)
(59, 61)
(71, 73)
(101, 103)
(107, 109)
(137, 139)
(149, 151)
(179, 181)
(191, 193)
(197, 199)
(227, 229)
(239, 241)
(269, 271)
(281, 283)
(311, 313)
(347, 349)
(419, 421)
(431, 433)
(461, 463)
(521, 523)
(569, 571)
(599, 601)
(617, 619)
(641, 643)
(659, 661)
(809, 811)
(821, 823)
(827, 829)
(857, 859)
(881, 883)
```
这些数对是 1000 以内符合条件的素数数对。
阅读全文