定义一个函数,判断一个数n是否是水仙花数,n从键盘输入
时间: 2024-05-13 08:17:47 浏览: 105
水仙花数c语言程序
水仙花数,也被称为阿姆斯特朗数,是指一个n位正整数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为153=1^3+5^3+3^3。
以下是判断一个数n是否是水仙花数的函数实现:
```python
def is_narcissistic_number(n):
# 将输入的数字转换为字符串,并获取它的位数
num_str = str(n)
length = len(num_str)
# 计算每个位上的数字的n次幂之和
sum = 0
for i in range(length):
digit = int(num_str[i])
sum += digit ** length
# 判断是否是水仙花数
if sum == n:
return True
else:
return False
```
使用方法:
```python
num = int(input("请输入一个正整数:"))
if is_narcissistic_number(num):
print("{}是水仙花数".format(num))
else:
print("{}不是水仙花数".format(num))
```
阅读全文