编写一个函数判断给定的整数是否为水仙花数
时间: 2023-09-19 10:07:27 浏览: 140
水仙花数是指一个n位正整数(n≥3)等于其各位数字的n次方之和。例如,153是一个水仙花数,因为153=1^3+5^3+3^3。
以下是Python代码实现:
```python
def is_narcissistic_number(num):
# 将整数转换为字符串
str_num = str(num)
# 获取整数的位数
n = len(str_num)
# 计算各位数字的n次方之和
sum = 0
for digit in str_num:
sum += int(digit) ** n
# 判断是否为水仙花数
if sum == num:
return True
else:
return False
```
使用示例:
```python
print(is_narcissistic_number(153)) # True
print(is_narcissistic_number(370)) # True
print(is_narcissistic_number(371)) # True
print(is_narcissistic_number(407)) # True
print(is_narcissistic_number(1634)) # True
print(is_narcissistic_number(8208)) # True
print(is_narcissistic_number(9474)) # True
print(is_narcissistic_number(9475)) # False
```
阅读全文