发现大家都在玩这个,用 python 写了一个,计算一百万之内的数字还是飞快的(包括结果打印)。

#coding: utf-8

"""
第二道算法题(500分)

题目要求:双倍超立方数是指一个正整数可以正好被拆分为两种不同的a^3+b^3的方式,
其中a,b均为整数且0<a<=b。对于任何一个指定的 int n, 返回所有的小于等于n的双倍超立方数的个数。
"""

def find_double_cublic_number(max):
    cubs = [pow(i,3) for i in range(1, int(round(pow(max, 1./3))))]
    #print cubs
    sum_dict = {}
    result_list = []
    length = len(cubs)
    for i in range(length):
        for j in range(i + 1, length):
            sum = cubs[i] + cubs[j]
            if sum_dict.has_key(sum) and sum <= max:
                result_list.append(sum)
                print "%d^3 + %d^3 = %d" % (sum_dict[sum][0], sum_dict[sum][1], sum)
                print "%d^3 + %d^3 = %d" % (int(round(pow(cubs[i], 1./3))), int(round(pow(cubs[j], 1./3))), sum)
            else:
                sum_dict[sum] = (int(round(pow(cubs[i], 1./3))), int(round(pow(cubs[j], 1./3))))
    
    return len(result_list)

if __name__ == '__main__':
    n = find_double_cublic_number(1000000)
    print "--------------------------------\n"
    print n, "results found."

输出结果:

>pythonw -u "double_cubic_number.py"
1^3 + 12^3 = 1729
9^3 + 10^3 = 1729
2^3 + 16^3 = 4104
9^3 + 15^3 = 4104
2^3 + 34^3 = 39312
15^3 + 33^3 = 39312
9^3 + 34^3 = 40033
16^3 + 33^3 = 40033
2^3 + 24^3 = 13832
18^3 + 20^3 = 13832
4^3 + 32^3 = 32832
18^3 + 30^3 = 32832
10^3 + 27^3 = 20683
19^3 + 24^3 = 20683
9^3 + 58^3 = 195841
22^3 + 57^3 = 195841
3^3 + 60^3 = 216027
22^3 + 59^3 = 216027
17^3 + 55^3 = 171288
24^3 + 54^3 = 171288
17^3 + 39^3 = 64232
26^3 + 36^3 = 64232
3^3 + 36^3 = 46683
27^3 + 30^3 = 46683
6^3 + 48^3 = 110808
27^3 + 45^3 = 110808
8^3 + 53^3 = 149389
29^3 + 50^3 = 149389
4^3 + 68^3 = 314496
30^3 + 66^3 = 314496
11^3 + 93^3 = 805688
30^3 + 92^3 = 805688
12^3 + 40^3 = 65728
31^3 + 33^3 = 65728
18^3 + 68^3 = 320264
32^3 + 66^3 = 320264
20^3 + 97^3 = 920673
33^3 + 96^3 = 920673
4^3 + 48^3 = 110656
36^3 + 40^3 = 110656
8^3 + 64^3 = 262656
36^3 + 60^3 = 262656
12^3 + 51^3 = 134379
38^3 + 43^3 = 134379
20^3 + 54^3 = 165464
38^3 + 48^3 = 165464
17^3 + 76^3 = 443889
38^3 + 73^3 = 443889
2^3 + 89^3 = 704977
41^3 + 86^3 = 704977
5^3 + 60^3 = 216125
45^3 + 50^3 = 216125
10^3 + 80^3 = 513000
45^3 + 75^3 = 513000
5^3 + 76^3 = 439101
48^3 + 69^3 = 439101
30^3 + 67^3 = 327763
51^3 + 58^3 = 327763
34^3 + 78^3 = 513856
52^3 + 72^3 = 513856
6^3 + 72^3 = 373464
54^3 + 60^3 = 373464
15^3 + 80^3 = 515375
54^3 + 71^3 = 515375
12^3 + 96^3 = 886464
54^3 + 90^3 = 886464
42^3 + 69^3 = 402597
56^3 + 61^3 = 402597
30^3 + 81^3 = 558441
57^3 + 72^3 = 558441
35^3 + 98^3 = 984067
59^3 + 92^3 = 984067
29^3 + 99^3 = 994688
60^3 + 92^3 = 994688
24^3 + 80^3 = 525824
62^3 + 66^3 = 525824
7^3 + 84^3 = 593047
63^3 + 70^3 = 593047
23^3 + 94^3 = 842751
63^3 + 84^3 = 842751
24^3 + 98^3 = 955016
63^3 + 89^3 = 955016
51^3 + 82^3 = 684019
64^3 + 75^3 = 684019
8^3 + 96^3 = 885248
72^3 + 80^3 = 885248
--------------------------------

43 results found.
>Exit code: 0

也玩有道难题的双立方数问题:Python 版解法相关推荐

  1. 有道难题 双倍超立方数 的解答

    昨天进行的有道难题资格赛Group17中的"难题": Problem Statement     双倍超立方数是指一个正整数可以正好被拆分为两种不同的a^3+b^3的方式,其中a, ...

  2. 网易有道难题,铩羽而归。

    5月31日参加 网易有道难题 ,结果铩羽而归. 先做的是500分题目: 题目要求:双倍超立方数是指一个正整数可以正好被拆分为两种不同的a^3+b^3的方式,其中a,b均为整数且0<a<=b ...

  3. 判断手势_科目一题库里的4道难题,拿不到满分也正常,交警手势不好判断

    品牌宣传.产品推广,覆盖全国,日曝光量千万+,7500+公众号广告招商进行中,点击进入了解详情 点击上面蓝字即可关注↑点击右上角分享到朋友圈 现在很多人都在考取驾驶证,在考证的过程中,学员就需要经历四 ...

  4. 有道难题之eaglet的算法

    有道难题之eaglet的算法 刚才在园子里看到 周利华关于 "有道难题"的两道题的算法,eaglet 做了一下,第一题比周利华的算法快10倍左右,第二天快100倍左右.由于eagl ...

  5. 看有道难题比赛有恶心感 ,付源码挑战,博客园目前纯速度最快。

    编码比赛,感觉是武林大会一样 本来很高兴 不过后来发现主要要装jre?罢了 6-1后看园子里各位兄弟都在做题目,看了以后感觉非常难过,恶心! 同时有另一个首页文章谈到了++i.i++的题目 其实问题一 ...

  6. 有道难题- Unrepeating Nunbers

    有道难题,来自:http://www.youdao.com/nanti/news.html 开始自己写了代码,该程序能正常工作,但对某些数字不能得出正确的结果,汗了半天没有找出问题所在. 以下是我的源 ...

  7. 有道难题2010有道谜题标准答案

    有道难题2010网易编程挑战赛:http://www.youdao.com/nanti/index.html 欢迎报名参加由网易公司主办的"有道难题2010网易编程挑战赛".本次大 ...

  8. 网易有道胡琛:将“有道难题”做成中国编程爱好者的节日

    网易,一个对中国互联网影响至深的门户网站.搜索,一项给全世界计算机用户带来极好帮助的技术.我们无法想象,如果没有搜索,将会给我们的生活减少多少便利.网易有道,这个特别的名字,如今也逐渐为人们熟识和使用 ...

  9. 也谈网易“有道难题”在线解谜游戏

    今天下午忙活了一下午,参考各种资料,终于搞定了5-3到5-9的"有道难题"在线解谜游戏. 把解答列出来,方便以后回顾回顾. 答案有很多版本,有简单的有详细的. 简单的版本如下:(摘 ...

最新文章

  1. 消息队列系列(三):.Rabbitmq Trace的使用
  2. Libidn 简介 对国际化域名进行编码和解码
  3. 帆软报表(finereport)图表钻取详细类别 当前页对话框展示
  4. java统计系统线程数_Java并发(八)计算线程池最佳线程数
  5. python 英语词频统计软件_Python实现统计英文文章词频的方法分析
  6. oracle 配置监听和TNS常见的问题
  7. LL(1)分析表的构造
  8. 锋神教我数据库,吴大哥教我写文档——其一
  9. 算法复习周------“贪心问题之‘单源最短路径’”
  10. 磁盘:最容易被忽略的性能洼地
  11. 计算机常用的汉字机内码有哪几种,常用的汉字机内码有几种?
  12. iOS开发工具,ios开发类库
  13. 清北级别,补助丰厚,这样的中科院信工所你心动了吗?
  14. TeraTerm配置Cygwin连接
  15. mac 运行android模拟器速度慢,Mac下顺畅的安卓模拟器:网易MuMu
  16. 小小光纤承载尖端技术 “中国制造”引领行业标准
  17. 计算机专业技术职务评审表怎么填,专业技术职务怎么填
  18. CSS样式美化div盒子
  19. 想知道直销银行账户吗?
  20. mac上面的文件分割与合并

热门文章

  1. Codeforces Round #281 (Div. 2) C. Vasya and Basketball 二分
  2. MySql设置外网访问
  3. PMCAFF | 智能硬件2.0时代:用户导向,内容连接
  4. 【pmcaff】纪录片:互联网时代(互联网人必读大片)
  5. 写给互联网产品人的进阶感言
  6. HAProxy http和https都使用mode tcp模式
  7. F4+2 团队项目软件设计方案
  8. 直升机和固定翼实操期末考试
  9. 英特尔收购人工智能公司 Nervana,开发深度学习技术
  10. 天融信TOS系统命令行下查看资源使用情况