用python语言编写水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身,输出所有3位的水仙花数
时间: 2023-10-23 21:22:08 浏览: 84
```python
for i in range(100, 1000):
# 取出百位、十位、个位上的数字
a = i // 100
b = i // 10 % 10
c = i % 10
# 判断是否为水仙花数
if i == a**3 + b**3 + c**3:
print(i)
```
输出结果:
```
153
370
371
407
```
相关问题
用python语言描述水仙花数是指一个 3 位数,它的每个位上的数字的 3 次幂之和等于它本身(例如:1**3 + 5**3+ 3**3 = 153),输出所有3位的水仙花数。
在Python中,我们可以编写一个简单的程序来找出所有的三位水仙花数。这里是一个示例函数,它会遍历从100到999的所有整数,检查它们是否满足水仙花数的条件:
```python
def find_water_lilies():
for num in range(100, 1000): # 遍历三位数范围
first_digit = int(str(num)[0]) # 取第一个数字
second_digit = int(str(num)[1])
third_digit = int(str(num)[2])
# 计算各位立方和
sum_of_cubes = first_digit ** 3 + second_digit ** 3 + third_digit ** 3
# 如果立方和等于原数,它是水仙花数
if sum_of_cubes == num:
print(num)
# 调用函数寻找并打印水仙花数
find_water_lilies()
```
当你运行这个程序,它将打印出所有的三位水仙花数,如153、370、371等。
用Python编写函数求100~999之间的所有水仙花数。所谓水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。
当然可以,我们可以创建一个名为`find_water_lilies()`的函数,遍历100到999的所有整数,检查它们是否满足水仙花数的条件。下面是相应的Python代码:
```python
def is_perfect_number(num):
# 对于3位数,百位、十位和个位分别是num // 100, num // 10 % 10, 和 num % 10
digits = [int(digit) for digit in str(num)]
return sum(map(lambda x: x ** 3, digits)) == num
def find_water_lilies():
water_lilies = []
for num in range(100, 1000):
if is_perfect_number(num):
water_lilies.append(num)
return water_lilies
water_lily_numbers = find_water_lilies()
print("100至999之间的水仙花数有:")
for number in water_lily_numbers:
print(number)
阅读全文