水仙花数编程怎么弄

时间:2025-01-27 23:40:16 网络游戏

要编程出水仙花数,你可以遵循以下步骤:

理解水仙花数的定义

水仙花数是指一个三位数,其各个数位上的数字的立方和等于该数本身。例如,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`列表中。最后,打印出所有找到的水仙花数。

你可以根据需要调整代码,例如改变循环的范围或输出格式。