输入一个三位正整数,判断其是否是水仙花数,如果是输出“YES”,否则输出“NO”。水仙花数是指该数每一位上数字的立方之和等于这个数本身,如153=13+53+33,因此153是水仙花数。输入输出示例如下:输入:153输入:256输出:YES输出:NO
时间: 2024-10-15 08:09:05 浏览: 38
python输入一个水仙花数(三位数) 输出百位十位个位实例
水仙花数( Narcissistic Number )是一个特殊的三位数特性,它的每个位上的数字的三次幂之和等于它自身。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
以下是一个简单的算法来判断一个三位数是否是水仙花数:
1. 首先,获取输入的三位数 num。
2. 分别计算 num 的百位、十位和个位的立方。
3. 将这三个立方相加得到 sum。
4. 比较 sum 是否等于原始输入 num,如果相等则返回 "YES",否则返回 "NO"。
以下是Python代码示例:
```python
def is_narcissistic_number(num):
# 确保是三位数
if len(str(num)) != 3 or not str(num).isdigit():
return "NO"
# 计算每位数字的立方并求和
digits_sum = sum(int(digit) ** 3 for digit in str(num))
# 判断是否相等
if digits_sum == num:
return "YES"
else:
return "NO"
# 示例
print(is_narcissistic_number(153)) # 输出:YES
print(is_narcissistic_number(256)) # 输出:NO
```
阅读全文