判断一个数是否是水仙花
时间: 2024-11-03 09:19:28 浏览: 5
水仙花数(Narcissistic number 或者 Plutonic number)是一种特殊的整数,其各位数字的立方和等于它本身。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
判断一个数n是否为水仙花数的算法可以分为以下几个步骤:
1. 首先将数n分解成各个位数,通常从右向左,取每个位上的数字作为计算的基数;
2. 对每个基数进行立方运算,并累加所有立方的结果;
3. 检查累加结果是否等于原数n。
以下是一个简单的Python示例实现:
```python
def is_narcissistic_number(n):
digits = [int(digit) for digit in str(n)] # 分解数字为列表
sum_of_cubes = sum(digit**3 for digit in digits) # 计算每位立方和
return sum_of_cubes == n # 返回结果是否相等
# 测试
print(is_narcissistic_number(153)) # 输出:True
```
相关问题
判断一个数是否是水仙花数
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153 = 1^3 + 5^3 + 3^3,因此153是一个水仙花数。
以下是Python代码实现:
```python
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, "不是水仙花数")
```
运行程序,输入一个三位数,即可判断它是否是水仙花数。
python判断一个数是否是水仙花数
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
Python可以通过以下代码判断一个数是否是水仙花数:
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, "不是水仙花数")
阅读全文