Python 实现水仙花数
时间: 2024-10-10 21:03:35 浏览: 86
水仙花数(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
```
相关问题
Python实现水仙花数
好的,Python实现水仙花数的代码如下:
```python
for num in range(100, 1000):
sum = 0
temp = num
while temp:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num)
```
这段代码可以找到所有三位数的水仙花数。
用python实现水仙花数
可以使用以下代码实现:
def water_flower():
for i in range(100, 1000):
a = i // 100
b = (i % 100) // 10
c = i % 10
if i == a**3 + b**3 + c**3:
print(i)
water_flower()
阅读全文