编写程序,通过while循环结构计算全部水仙花
时间: 2023-05-08 14:01:14 浏览: 114
一个用c语言编写的水仙花数程序
水仙花数,也叫做阿姆斯特朗数,指的是一个$n$位数,它的各位数字的$n$次方之和等于它本身,例如$153=1^3 + 5^3 + 3^3$。现在我们需要编写程序,通过while循环结构计算全部水仙花数。
程序思路如下:
- 设置变量$i$从100开始循环,循环条件为$i$不超过999;
- 在循环中,将$i$转换成字符串$s$,并计算$s$每一位上数字的$n$次方之和,如果等于$i$,则将$i$输出;
- 循环结束后,输出计算结果。
具体代码如下:
```python
n = int(input("请输入n的值:"))
result = 0
i = 100
while i <= 999:
s = str(i)
sum = 0
for j in s:
sum += int(j) ** n
if sum == i:
print(i)
result += 1
i += 1
print("共计算出", result, "个水仙花数。")
```
在程序中,我们将$n$的值作为输入来实现更高的灵活性。同时,我们使用了变量$result$来统计计算出的水仙花数的个数,以便输出最终的计算结果。
阅读全文