水仙花数又称阿姆斯特朗数。 水仙花数是指一个n 位数( n≥3 ),它的每个位上的数字的n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153) 判断输入的数字是否为水仙花数。
时间: 2023-11-16 14:06:26 浏览: 33
好的,可以使用以下代码来判断一个数是否为水仙花数:
```python
num = input("请输入一个三位数:") # 获取用户输入
sum = 0 # 初始化和为0
if len(num) != 3: # 判断输入是否为三位数
print("输入错误,请输入一个三位数!")
else:
for i in num: # 遍历每一位数字
sum += int(i) ** 3 # 计算每一位数字的立方和
if sum == int(num): # 判断是否为水仙花数
print(num, "是水仙花数!")
else:
print(num, "不是水仙花数!")
```
以上代码中,我们先获取用户输入的数字,然后判断是否为三位数,如果不是则提示输入错误。如果是三位数,则遍历每一位数字,计算每一位数字的立方和,最后判断是否和原数相等,如果相等则为水仙花数,否则不是。
相关问题
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如,153=1^3+5^3+3^3就是一个三位数的水仙花数。水仙花数是一类特殊的自幂数,自幂数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。除了水仙花数,还有四叶玫瑰数、阿姆斯特朗数等等。水仙花数得名于它的形状像水仙花。
定义一个函数,判断一个数n是否是水仙花数,n从键盘输入
水仙花数,也被称为阿姆斯特朗数,是指一个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))
```