用python实现水仙数
时间: 2023-09-27 12:10:14 浏览: 82
水仙花数是指一个三位数,其各位数字立方和等于该数本身。比如153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。下面是用 Python 实现水仙花数的代码:
```python
for num in range(100,1000):
# 分解出各个位上的数字
digit1 = num // 100
digit2 = num // 10 % 10
digit3 = num % 10
# 判断是否为水仙花数
if digit1 ** 3 + digit2 ** 3 + digit3 ** 3 == num:
print(num)
```
运行以上代码,输出结果为:
```
153
370
371
407
```
相关问题
用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()
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
```
阅读全文