本帖最后由 翩跹叶惊鸿 于 2018-8-22 22:22 编辑
这个题,我有新方法~保证好理解!!而且运行速度差不多哦~亲测~
方法一是小甲鱼的方法,开始我看了好久才看懂了。。
下面的方法二是我自己做的,你看看,我觉得好理解多了哦。
先把数字变成字符串,就能轻松提取出个位十位百位了哟~
- import time
- t1 = time.time()
- for i in range(100, 1000):
- sum = 0
- temp = i
- while temp:
- sum = sum + (temp % 10) ** 3
- temp //= 10
- if sum == i:
- print(i)
- t11 = time.time()-t1
- print('方法一所用时间:',t11)
- t2 = time.time()
- for i in range(100, 1000):
- a = str(i)
- sum = int(a[0]) ** 3 + int(a[1]) ** 3 + int(a[2]) ** 3
- if sum == i:
- print(i)
- t22 = time.time()-t2
- print('方法二所用时间:',t22)
复制代码