三位数所有水仙花数python
时间: 2023-07-05 14:19:36 浏览: 91
以下是 Python 代码实现:
```python
for num in range(100, 1000):
# 获取百位、十位和个位数字
hundreds = num // 100
tens = (num // 10) % 10
ones = num % 10
# 判断是否为水仙花数
if num == hundreds ** 3 + tens ** 3 + ones ** 3:
print(num)
```
输出结果:
```
153
370
371
407
```
其中,153、370、371和407都是三位数的水仙花数。
相关问题
求出所有三位数的水仙花数python代码
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。比如153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。以下是使用Python编写的一个简单程序,用于找出所有的三位水仙花数:
```python
def is_armstrong_number(num):
# 将数字转换为字符串以便取每一位
str_num = str(num)
length = len(str_num)
# 计算每一位的立方和
sum_of_cubes = sum(int(digit) ** length for digit in str_num)
return num == sum_of_cubes
# 遍历所有三位数并检查是否为水仙花数
armstrong_numbers = []
for i in range(100, 1000): # 从100到999
if is_armstrong_number(i):
armstrong_numbers.append(i)
# 输出结果
print("所有的三位水仙花数有:")
for number in armstrong_numbers:
print(number)
Python打印出所有的水仙花数并判断输入的一个三位数是不是水仙花数
水仙花数是指一个三位数,其各位数字立方和等于该数本身。下面是Python代码实现:
```python
# 打印出所有的水仙花数
for i in range(100, 1000):
num = str(i)
if int(num[0])**3 + int(num[1])**3 + int(num[2])**3 == i:
print(i)
# 判断输入的一个三位数是不是水仙花数
num = input("请输入一个三位数:")
if len(num) == 3 and int(num[0])**3 + int(num[1])**3 + int(num[2])**3 == int(num):
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
其中,`range(100, 1000)` 表示从 100 开始到 999 结束,因为三位数的范围是从 100 到 999。`num = str(i)` 将整数转换成字符串,方便后面取出各位数字进行立方运算。`int(num[0])**3 + int(num[1])**3 + int(num[2])**3 == i` 表示将各位数字立方后相加,判断是否等于原数。对于输入的三位数,需要先判断其长度是否为 3,然后再判断各位数字立方和是否等于原数。
阅读全文
相关推荐















