用python实现,输入一个整数,判断是否为水仙花数
时间: 2024-03-10 20:45:59 浏览: 97
水仙花数是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为$1^3 + 5^3 + 3^3 = 153$。
下面是一个实现输入一个整数,判断是否为水仙花数的Python程序:
```python
num = int(input("请输入一个三位数: "))
# 计算每个位上的数字的三次幂之和
sum = pow(num//100, 3) + pow(num//10 % 10, 3) + pow(num % 10, 3)
# 判断是否为水仙花数
if num == sum:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
该程序首先要求用户输入一个三位数,然后利用整除和取模运算符获取该数的每个位上的数字,并计算它们的三次幂之和。最后,判断该数是否等于三次幂之和,如果相等,则说明该数是水仙花数,否则不是。
相关问题
用Python代码输入一个整数,判断是否为水仙花数
好的,我可以回答您的问题。以下是判断一个整数是否为水仙花数的Python代码:
```
num = int(input("请输入一个整数:"))
n = len(str(num)) # 获取数字的位数
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
if num == sum:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
请注意,水仙花数指一个n位正整数 ( n>=3 ),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。
python输入一个数 判断是否为水仙花数
在Python中,判断一个整数是否是水仙花数( Narcissistic number),就是看这个数字的各位数字立方之和是否等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
你可以编写如下的函数来完成这个任务:
```python
def is_narcissistic_number(num):
# 将数字转换为字符串获取每一位
str_num = str(num)
# 计算各个位上的数字立方和
sum_of_cubes = sum(int(digit) ** 3 for digit in str_num)
# 比较立方和是否等于原数
return sum_of_cubes == num
# 测试
number = int(input("请输入一个整数:"))
if is_narcissistic_number(number):
print(f"{number} 是水仙花数")
else:
print(f"{number} 不是水仙花数")
```
当你运行程序并输入一个数后,它会告诉你该数是否为水仙花数。
阅读全文