要编程出水仙花数,你可以遵循以下步骤:
理解水仙花数的定义
水仙花数是指一个三位数,其各个数位上的数字的立方和等于该数本身。例如,153 = 1^3 + 5^3 + 3^3。
确定循环范围
由于水仙花数是三位数,因此循环的范围是从100到999。
拆分数字的各个位
对于每个三位数,需要将其拆分为个位、十位和百位。
计算立方和
分别计算个位、十位和百位的数字的立方,并将它们相加。
判断是否为水仙花数
如果计算出的立方和等于原数,则该数是一个水仙花数。
输出结果
将找到的水仙花数输出或存储在列表中。
```python
def narcissistic_number(num):
将数字转换为字符串,以便于拆分
num_str = str(num)
length = len(num_str)
sum_of_cubes = 0
遍历每个数字位
for digit_str in num_str:
digit = int(digit_str)
sum_of_cubes += digit length
判断是否为水仙花数
return num == sum_of_cubes
找出1000以内的所有水仙花数
narcissistic_numbers = [num for num in range(100, 1000) if narcissistic_number(num)]
输出结果
print("水仙花数有:", narcissistic_numbers)
```
这个代码首先定义了一个函数`narcissistic_number`来判断一个数是否为水仙花数。然后,使用列表推导式在100到999的范围内找出所有水仙花数,并将它们存储在`narcissistic_numbers`列表中。最后,打印出所有找到的水仙花数。
你可以根据需要调整代码,例如改变循环的范围或输出格式。