输入一个三位数,依次判断每一位上的数字是否为质数,最终输出所有为质数位的数字之和。 例如357,百位十位个位这三个数位上的数都是质数,所以输出3+5+7的和15,而351,只有百位3和十位5这两个数位上的数是质数,所以输出8。(注意1不是质数)
时间: 2024-12-20 19:19:39 浏览: 6
要实现这个功能,你可以编写一个Python程序,定义一个函数用于检查数字是否为质数,然后遍历输入的三位数,对每个位置上的数字进行判断并累加。下面是一个示例代码:
```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
def sum_of_prime_digits(n):
digits = [int(digit) for digit in str(n)] # 将数字转换成列表,便于处理每一位
prime_sum = sum(digit for digit in digits if is_prime(digit)) # 遍历每一位,仅计算质数
return prime_sum
# 示例
input_number = 357
result = sum_of_prime_digits(input_number)
print(f"对于数字 {input_number},质数位的数字之和是 {result}")
# 对于351,使用相同函数
input_number = 351
result = sum_of_prime_digits(input_number)
print(f"对于数字 {input_number},质数位的数字之和是 {result}")
```
运行这段代码后,它会输出两个例子的结果:对于357,输出15;对于351,输出8。
阅读全文