编程寻找1000以内的无暇素数, 无暇素数是指这个数自身为素数, 其逆序数也是素数, 每行输出5个
时间: 2024-05-04 16:22:17 浏览: 93
求1000以内的素数
以下是 Python 3 的代码实现:
```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 reverse_num(n):
return int(str(n)[::-1])
result = []
for i in range(1, 1001):
if is_prime(i) and is_prime(reverse_num(i)):
result.append(i)
if len(result) == 5:
print(*result)
result = []
if len(result) > 0:
print(*result)
```
首先定义了两个函数,`is_prime` 用来判断一个数是否为素数,`reverse_num` 用来翻转数字。然后从 1 到 1000 遍历每一个数,如果这个数本身和它的翻转数都是素数,就将它加入结果列表中,每累计到 5 个就打印一行输出。最后需要判断一下结果列表中是否还有剩余的数没有输出。
阅读全文