输入一个整数,判断它是不是水仙花数,水仙花数是一个三位整数,其每位数字的立方和等于其本身, 例如,153是一个水仙花数,153=1×1×1+5×5×5+3×3×3
时间: 2024-10-12 12:15:10 浏览: 111
判断一个三位整数是非为水仙花数-2021.10.28.zip
水仙花数是指一个三位数,其中每一位数字的三次方之和等于原数自身。例如,153就是一个水仙花数,因为\(1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153\)。
判断一个整数是否为水仙花数的一般步骤如下:
1. 首先检查输入是否是三位数,如果不是,则不是水仙花数。
2. 将这个数分解成百位、十位和个位三个数字,可以取模9来分别得到这三个位置的数字。
3. 计算每个位置上数字的立方,并将它们相加。
4. 比较计算结果是否与原始输入的数相等。如果相等,那么它是水仙花数;如果不等,则不是。
下面是一个简单的Python函数示例来实现这个功能:
```python
def is_lychrel_number(num):
if num < 100 or num > 999:
return False
digits = [int(d) for d in str(num)]
sum_of_cubes = sum(d**3 for d in digits)
for _ in range(100): # 迭代100次,通常对于水仙花数来说很快就能确定
if sum_of_cubes == num:
return True
temp = sum_of_cubes
sum_of_cubes = sum(int(digit)**3 for digit in str(sum_of_cubes))
return False
# 示例
num = int(input("请输入一个三位数: "))
if is_lychrel_number(num):
print(f"{num} 是一个水仙花数")
else:
print(f"{num} 不是水仙花数")
```
阅读全文