设计函数判断是否为水仙花数
时间: 2023-11-22 18:54:14 浏览: 69
水仙花数是指一个 n 位数(n≥3),其各位数字的 n 次方之和等于该数本身。例如,153 就是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。我们可以设计一个函数来判断一个数是否为水仙花数,实现如下:
```python
def is_narcissistic_number(num):
"""
判断一个数是否为水仙花数
:param num: 待判断的数
:return: True/False
"""
# 转换为字符串,以便获取每一位数字
num_str = str(num)
# 获取数字位数
n = len(num_str)
# 初始化数字 n 次方之和为 0
sum = 0
# 遍历每一位数字,计算 n 次方之和
for i in num_str:
sum += int(i)**n
# 判断是否为水仙花数
if sum == num:
return True
else:
return False
```
使用示例:
```python
print(is_narcissistic_number(153)) # True
print(is_narcissistic_number(371)) # True
print(is_narcissistic_number(9474)) # True
print(is_narcissistic_number(9475)) # False
```
阅读全文