如何编写一个程序,使用循环结构来找出并打印所有的水仙花数,并同时统计这类数字的总数?
时间: 2024-10-18 07:05:16 浏览: 25
python使用循环打印所有三位数水仙花数的实例
5星 · 资源好评率100%
水仙花数是一个三位数,其各位数字立方之和等于该数本身。例如,153就是水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是一个简单的Python程序,使用for循环找到所有100到999范围内的水仙花数,并计算它们的总数:
```python
# 初始化计数器
count = 0
# 遍历3位数范围
for num in range(100, 1000):
# 拆分每一位
hundreds = int(num / 100)
tens = int((num % 100) / 10)
ones = num % 10
# 计算每位数字立方和
sum_of_cubes = hundreds**3 + tens**3 + ones**3
# 如果和等于原数,它是水仙花数
if sum_of_cubes == num:
print(f"水仙花数:{num}")
count += 1
# 打印出水仙花数的数量
print(f"共有 {count} 个水仙花数.")
```
在这个程序中,我们首先创建了一个计数器`count`,然后对每个三位数进行处理。如果计算得到的立方和等于原始数值,我们就找到了一个水仙花数,同时将计数加一。最后,程序会显示总共有多少个水仙花数。
阅读全文