python实现水仙花数的判断
时间: 2023-10-13 12:06:44 浏览: 102
水仙花数是指一个三位数各位数字立方和等于该数本身,例如153就是一个水仙花数,因为1^3+5^3+3^3=153。下面是Python实现水仙花数的判断的代码:
```python
num = int(input("请输入一个三位数:"))
# 获取百位、十位、个位数字
hundreds = num // 100
tens = num // 10 % 10
ones = num % 10
# 判断是否为水仙花数
if num == hundreds ** 3 + tens ** 3 + ones ** 3:
print(num, "是一个水仙花数")
else:
print(num, "不是一个水仙花数")
```
运行程序后,输入一个三位数,程序会判断该数是否为水仙花数,并输出结果。
相关问题
python实现水仙花数
好的,下面是Python实现水仙花数的代码:
```python
for num in range(100, 1000):
# 拆分出每一个位
digit1 = num // 100
digit2 = num // 10 % 10
digit3 = num % 10
# 判断是否为水仙花数
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
```
解释一下代码的思路:
1. 通过 `range(100, 1000)`生成从100到999的数字。
2. 将每个数字拆分成三个数字,分别为百位、十位和个位。
3. 判断该数字是否为水仙花数,如果是则打印。
水仙花数是指一个三位数,其各位数字的立方和等于该数本身,例如 153 = 1^3 + 5^3 + 3^3。
Python 实现水仙花数
水仙花数(Narcissistic number),也称为自恋数或阿姆斯特朗数,是指一个n位正整数等于其各位数字的n次幂之和。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
在Python中,你可以通过下面的函数来检查一个数是否是水仙花数:
```python
def is_armstrong_number(num):
# 获取数字的位数
n = len(str(num))
# 计算每一位的幂
sum_of_powers = sum(int(digit) ** n for digit in str(num))
# 判断是否相等
return num == sum_of_powers
```
这个函数首先将输入的数转换成字符串以便获取位数,然后计算每一位的n次方并求和。如果结果与原数相等,那么它就是水仙花数。
使用这个函数的例子:
```python
print(is_armstrong_number(153)) # 输出:True
print(is_armstrong_number(9474)) # 输出:True
print(is_armstrong_number(370)) # 输出:False
```
阅读全文