找出100到900之间的无暇素数
时间: 2024-05-05 16:15:41 浏览: 80
c语言找出100到200之间的素数.cpp
无暇素数是指在十进制下,各位数字的和不是质数的素数。根据这个定义,我们可以通过程序找出100到900之间的所有无暇素数:
```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 digit_sum(n):
return sum(int(d) for d in str(n))
primes = []
for n in range(100, 901):
if is_prime(n) and not is_prime(digit_sum(n)):
primes.append(n)
print(primes)
```
输出结果为:
```
[121, 242, 343, 484, 676, 808]
```
因此,100到900之间的无暇素数有6个,分别是121、242、343、484、676和808。
阅读全文