|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
"""计算100-999之间的水仙花数
所谓水仙花数,即一个数的个位3次幂+十位的3次幂+百位的3次幂的和与该数相等
如:153=3**3+5**3+1**3"""
以下是老师讲的方法:
- for item in range(100,1000):
- ge = item % 10
- shi = item // 10 % 10
- bai = item // 100
- if ge**3 + shi**3 + bai **3 == item:
- print(item)
复制代码
我想通过列表,通过下角标取值,分别取出个十百位数值,然后在通过if判断实现,不知道会不会更简便些,但能力有限,故求助大咖们帮忙!
可以这样用列表:
- for item in range(100,1000):
- temp = [int(i) for i in str(item)]
- if temp[2]**3 + temp[1]**3 + temp[0] **3 == item:
- print(item)
复制代码
也可以用字符串下标索引,只是索引后需要转化为 int,参考代码:
- for item in range(100,1000):
- temp = str(item)
- ge = int(temp[2])
- shi = int(temp[1])
- bai = int(temp[0])
- if ge**3 + shi**3 + bai **3 == item:
- print(item)
复制代码
|
|