Python判断一个七位数是否是水仙花数
时间: 2024-12-30 13:04:54 浏览: 6
水仙花数是一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在Python中,你可以编写一个函数来检查任意七位数是否是水仙花数,通常我们会只针对三位数进行验证,因为超过这个范围的数不可能是水仙花数。
下面是一个简单的函数实现:
```python
def is narcissistic_number(num):
# 将输入的数转换成字符串,便于处理每一位
str_num = str(num)
# 检查长度是否为3,如果大于3,则直接返回False
if len(str_num) != 3:
return False
# 分割数字并计算它们的立方和
digits_sum = sum(int(digit)**3 for digit in str_num)
# 比较原始数字和立方和是否相等
return num == digits_sum
# 测试一些例子
print(is_narcissistic_number(153)) # 输出 True
print(is_narcissistic_number(123)) # 输出 False
```
相关问题
水仙花数输入一个3位数判断是不是水仙花数,用python
当然可以,以下是Python代码实现:
num = int(input("请输入一个三位数:"))
sum = 0
n = num
while n > 0:
digit = n % 10
sum += digit ** 3
n //= 10
if num == sum:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
这段代码可以判断一个三位数是否为水仙花数。如果是水仙花数,它的各个数字的立方和等于它本身,例如153=1^3+5^3+3^3,而如果不是水仙花数,则各个数字的立方和不等于它本身。
用Python判断3位数是否为水仙花数
可以使用以下代码来判断一个三位数是否为水仙花数:
num = int(input("请输入一个三位数:"))
a = num // 100
b = num // 10 % 10
c = num % 10
if num == a ** 3 + b ** 3 + c ** 3:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
阅读全文