Python实现大自然数分解为最多4个平方数之和(1)

问题描述:任意大自然数,总是能分解为最多4个平方数的和,所谓平方数是指它是一个自然数的平方。例如:72884 = 4^2 + 138^2 + 232^2,33788 = 1^2 + 3^2 + 17^2 + 183^2。

感谢国防科技大学刘万伟老师提供的原始问题,感谢中国传媒大学胡凤国老师的交流,由于作者署名长度最多8个字符,我的就只显示一个姓好了^_^。

本文重点演示Python嵌套函数定义和标准库对象itertools.combinations()用法,并没有涉及复杂的数学算法,效率不是很高,后面再陆续分享更多有关代码,也欢迎大家提供效率更高的算法。

运行结果:

原文发布于微信公众号 - Python小屋(Python_xiaowu)

原文发表时间:2017-12-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏牛客网

阿里 Java研发工程师[内推] 电话面试

3月20号 阿里巴巴 Java研发工程师[内部推荐] 电话面试 1. 自我介绍(问了我哪里人、去杭州工作有没有问题、什么时间可以去实习) 2. 介绍一下自己做过...

4559
来自专栏华章科技

Bruce Eckel:我最喜欢Python,Kotlin或将取代Java(附演讲全文+PPT)

这两天,Bruce Eckel来到中国,这是他的中国首秀。5月22日,Bruce Eckel发表了他的最新演讲,与在场的1000多人分享关于编程语言的一些思考,...

2684
来自专栏数据结构与算法

生理周期POJ 1006

Description 人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会...

2757
来自专栏Albert陈凯

Scala兴衰史:暂时的没落或许是一个新的开始

5年前,Scala 似乎曾要成为编程语言中下一个佼佼者,因为它能够优雅得使用面向对象编程范式进行函数编程。 现如今,随着像 LinkedIn 和 Yammer ...

3684
来自专栏desperate633

LintCode 买卖股票的最佳时机 II题目分析代码

假设有一个数组,它的第i个元素是一个给定的股票在第i天的价格。设计一个算法来找到最大的利润。你可以完成尽可能多的交易(多次买卖股票)。然而,你不能同时参与多个交...

611
来自专栏计算机视觉与深度学习基础

主席树POJ2104

求区间第k大数是多少 用我惯用的线段树写法似乎不适合写主席树,看别人的代码好半天才看懂 用root表示每一个前缀树的根,思想大致是由第i-1个树构成的树建第i个...

2599
来自专栏怀英的自我修炼

Java漫谈1

对于接触编程的人来说,Java更多地代表了一门编程语言。 Java是一门通用的计算机编程语言,它是并行的,基于类的,面向对象的,可以一次编写到处运行的一门语言。...

37714
来自专栏Web行业观察

盘点那些奇形怪状的编程语言

有的语言是多面手,在很多不同的领域都能派上用场。这类编程语言叫 general-purpose language,简称 GPL。大家学过的编程语言很多都属于这一...

2622
来自专栏Aloys的开发之路

关于强制式(命令式)语言和声明式语言的区别

在阅读Alfred V.Aho等的大作Compilers Principles,Techniques and Tools是看到如下一段话: Another  c...

2825
来自专栏python学习之旅

测试工程师的一些面试题目(python)和总结

    1、输入:JSON {"a":"aa","b":"bb","c":{"d":"dd","e":"ee"}}   输出:字典 {'a': 'aa', 'b...

4122

扫码关注云+社区

领取腾讯云代金券