6. 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。python
时间: 2024-09-20 07:04:57 浏览: 40
输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
在Python中,我们可以编写一个简单程序来找出所有的水仙花数。水仙花数的特点是每个位上的数字分别立方后相加等于原数。我们只需要遍历从100到999的所有整数,然后检查是否满足条件即可。以下是Python代码实现:
```python
def is narcissistic_number(num):
digits = [int(digit) for digit in str(num)]
return num == sum([digit**3 for digit in digits])
for i in range(100, 1000): # 只需考虑三位数
if is_narcissistic_number(i):
print(i)
```
这段代码首先定义了一个辅助函数`is_narcissistic_number()`,它将输入的数字拆分成各个位上的数字,并计算它们的立方和。如果和等于原始数字,那么这个数字就是水仙花数。
然后,我们通过一个for循环遍历100到999之间的每一个数字,使用`is_narcissistic_number()`函数判断是否是水仙花数,如果是就打印出来。
阅读全文