水仙花数python
时间: 2023-07-01 10:26:40 浏览: 64
水仙花数是指一个n位数(n≥3),其各位数字的n次方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是Python实现水仙花数的代码:
```python
for i in range(100, 1000):
a = i // 100 # 获取百位数
b = i // 10 % 10 # 获取十位数
c = i % 10 # 获取个位数
if a**3 + b**3 + c**3 == i:
print(i)
```
运行结果:
```
153
370
371
407
```
相关问题
水仙花数Python
水仙花数,也叫“阿姆斯特朗数”,是指一个 n 位数(n>=3),它的每个位上的数字的 n 次幂之和等于它本身。例如:153 就是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
以下是Python代码实现水仙花数的判断:
```python
num = input("请输入一个三位数:") # 用户输入一个三位数
sum = 0 # 初始化变量 sum
for i in num:
sum += int(i) ** 3 # 计算每个位上的数字的三次方之和
if int(num) == sum:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
你可以将上述代码复制到Python环境中运行,输入一个三位数,即可判断该数是否为水仙花数。
判断水仙花数python
水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在Python中,可以使用以下代码来判断一个数是否为水仙花数:
```python
def is_armstrong_number(num):
# 将数字转换为字符串,以便逐位计算
num_str = str(num)
# 获取数字的位数
n = len(num_str)
# 计算每个位上的数字的n次幂之和
sum_of_powers = sum(int(digit) ** n for digit in num_str)
# 判断是否为水仙花数
if sum_of_powers == num:
return True
else:
return False
# 测试
num = 153
if is_armstrong_number(num):
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```