请编写一个Python程序,找出1000以内所有的水仙花数,并说明它们的共同特征。
时间: 2024-11-04 20:18:13 浏览: 6
水仙花数是一种特殊的数字,它的每个位上的数字的立方和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。要找出1000以内所有的水仙花数,我们需要编写一个程序,遍历100到999之间的所有数字,对于每个数字,分别计算出它的百位、十位和个位数字,然后检查它们的立方和是否等于该数字本身。以下是相应的Python代码实现:
参考资源链接:[Python编程挑战:数的整除、冠军推理与水仙花数](https://wenku.csdn.net/doc/7fezahvpbd?spm=1055.2569.3001.10343)
```python
# 初始化一个空列表用于存储水仙花数
narcissistic_numbers = []
# 遍历100到999之间的所有数字
for num in range(100, 1000):
# 分别计算百位、十位和个位数字
hundreds = num // 100
tens = (num % 100) // 10
ones = num % 10
# 计算每个位上数字的立方和
sum_of_cubes = hundreds ** 3 + tens ** 3 + ones ** 3
# 检查立方和是否等于原数字
if sum_of_cubes == num:
# 如果是,添加到列表中
narcissistic_numbers.append(num)
# 输出所有的水仙花数及其共同特征
print(
参考资源链接:[Python编程挑战:数的整除、冠军推理与水仙花数](https://wenku.csdn.net/doc/7fezahvpbd?spm=1055.2569.3001.10343)
阅读全文