编写一个程序,输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数。所谓 的水仙花数是:如果一个三位数的个位数、十位数、百位数的立方和等于该数自身,就称这个数为水仙花数。
时间: 2024-02-17 16:01:47 浏览: 71
python 找出100~999之间的所有水仙花数 示例
没问题,这里再提供一种实现方法:
```python
N = int(input("请输入一个正整数N(N大于等于100小于等于999): "))
for num in range(100, N+1):
# 将数字转换成字符串,方便操作各个位上的数字
str_num = str(num)
a = int(str_num[0]) # 百位数
b = int(str_num[1]) # 十位数
c = int(str_num[2]) # 个位数
# 判断是否为水仙花数
if a**3 + b**3 + c**3 == num:
print(num)
```
和之前的方法类似,也是遍历100到N之间的所有整数,但这里将数字转换成字符串,然后使用字符串索引操作获取各个位上的数字。然后根据水仙花数的定义判断该数是否为水仙花数。如果是,就输出该数。
阅读全文