题目:
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数
简介:
在本篇博客中,我们将解决一个经典的数学问题:打印出所有的水仙花数。水仙花数是指一个三位数,其各位数字的立方和等于该数本身。我们将给出问题的解析,并提供一个完整的代码示例来实现打印水仙花数的功能。
问题分析:
我们需要找到所有满足水仙花数条件的三位数。
解决方案:
下面是使用 Python 代码打印水仙花数的示例:
for number in range(100, 1000):
# 分解各位数字
digit1 = number // 100 # 百位
digit2 = (number // 10) % 10 # 十位
digit3 = number % 10 # 个位
# 计算立方和
sum_of_cubes = digit1**3 + digit2**3 + digit3**3
# 判断是否为水仙花数
if sum_of_cubes == number:
print(number)
输出结果如下:
153
370
371
407
代码解析:
- 我们使用
for
循环遍历从100到999的所有三位数。 - 在循环中,我们通过整除和取余运算分解出各位数字。
digit1
代表百位数字,digit2
代表十位数字,digit3
代表个位数字。 - 根据水仙花数的定义,我们计算各位数字的立方和,并将结果存储在
sum_of_cubes
变量中。 - 接下来,我们通过比较
sum_of_cubes
与原始数number
是否相等,判断该数是否为水仙花数。 - 如果是水仙花数,则使用
print
函数打印该数。
结论:
通过运行上述代码,我们找到了满足水仙花数条件的三位数。水仙花数包括153、370、371和407。这个问题可以通过循环和数学计算来解决,分解各位数字并计算立方和,然后判断是否满足水仙花数的条件。
这个简单的代码示例展示了如何使用 Python 打印水仙花数,并帮助读者更好地理解循环和数学计算的应用。