定义函数 twinPrime(starVal, endVal),输出 [starVal, endVal] 范围中所有的孪生素数(孪生素数就是指相差2的素数对)
时间: 2024-04-30 20:18:07 浏览: 55
以下是 Python 代码实现:
```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 twinPrime(startVal, endVal):
"""输出 [startVal, endVal] 范围中所有的孪生素数"""
for i in range(startVal, endVal - 1):
if is_prime(i) and is_prime(i + 2):
print(f"{i}和{i+2}是孪生素数。")
# 测试
twinPrime(1, 100)
```
输出结果:
```
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是孪生素数。
```
需要注意的是,由于判断素数的函数 is_prime() 中使用了一个循环,因此在进行大量计算时可能会比较耗时。可以考虑使用其他更高效的算法来判断素数。
阅读全文