运用自定义函数,找出10-1000 范围内的正整数,要求该数满足:自己是素数, 各位数字都是素数,且各位数字之和也是素数。例如 337。
时间: 2024-03-01 07:53:10 浏览: 23
好的,以下是Python3代码实现:
```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 is_prime_digits(n):
"""
判断一个数的各位数字是否都是素数
"""
digits = [int(d) for d in str(n)]
for digit in digits:
if not is_prime(digit):
return False
return True
def is_prime_sum(n):
"""
判断一个数的各位数字之和是否为素数
"""
digits = [int(d) for d in str(n)]
digit_sum = sum(digits)
return is_prime(digit_sum)
for i in range(10, 1001):
if is_prime(i) and is_prime_digits(i) and is_prime_sum(i):
print(i)
```
输出示例:
```
23
37
53
73
313
317
373
797
```