鱼C论坛

 找回密码
 立即注册
查看: 4412|回复: 9

[技术交流] 小练习:找出最小的立方数,使得它各位的排列中五个是立方数

[复制链接]
发表于 2017-2-27 08:44:29 | 显示全部楼层
本帖最后由 jerryxjr1220 于 2017-2-27 08:45 编辑

这题很简单,就是暴力破解,先计算每个数的立方数,然后把这个立方数sorted排序后以字典形式保存,当字典中某个value的长度为5时,则表示找到了答案。
源码:
  1. # -*- coding: utf-8 -*-
  2. import time
  3. start = time.time()
  4. D,i = {},1
  5. while True:
  6.     tri = i**3
  7.     key = ''.join(sorted(list(str(tri))))
  8.     value = D.get(key, [])
  9.     value.append(i)
  10.     D[key] = value
  11.     if len(value)== 5:
  12.         print (value)
  13.         break
  14.     i += 1
  15. print('Time used: %.3f sec' % (time.time()-start))
复制代码

输出:
[5027, 7061, 7202, 8288, 8384]
Time used: 0.029 sec

评分

参与人数 1荣誉 +10 鱼币 +10 收起 理由
冬雪雪冬 + 10 + 10

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-23 22:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表