使用Python语言编写以下代码: 1、如果一个3位数等于其各位数字的立方和,则称这个数为水仙花数,任意输入一个数,判断是不是水仙花数
时间: 2024-11-27 22:16:55 浏览: 8
水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身,例如:$1^3+5^3+3^3=153$。请编写程序求出100到999之间的所有水仙花数。代码
在Python中,你可以创建一个函数来检查一个三位数是否是水仙花数。这是一个简单的示例:
```python
def is_hyacinth_number(n):
# 检查数字是否是三位数
if len(str(n)) != 3 or n < 100 or n > 999:
return False
# 分解出每一位数字并计算它们的立方和
digits = [int(d) for d in str(n)]
sum_of_cubes = sum(d**3 for d in digits)
# 判断原数与其各位数字立方和是否相等
return n == sum_of_cubes
# 用户输入测试
number = int(input("请输入一个三位数:"))
if is_hyacinth_number(number):
print(f"{number} 是水仙花数")
else:
print(f"{number} 不是水仙花数")
```
在这个代码中,首先将输入的数字转换成字符串,并获取每个位数。然后,计算每个位数的立方和,最后比较原数和立方和是否相等。如果是,返回True,表示是水仙花数;否则,返回False。
阅读全文