首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

完全平方

给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。...队列的这种写法也是很有趣Queue queue = new LinkedList(); 对于这个问题建模: 整个问题转化为一个图论问题,从n到0,每个数字表示一个节点,如果有两个数字x到y相差一个完全平方数...四平方定理: 任何一个正整数都可以表示成不超过四个整数的平方之和。 满足四数平方和定理的数n(这里要满足由四个数构成,小于四个不行), 必定满足 n=4a(8b+7) 或者使用动态规划。...下面我们来用bfs解题,以n=13为例,请看下图13开始,第一遍:距离1X1可以到12节点,距离2X2可以到9节点,距离3X3可以到4节点,距离4X4超过13了肯定到不了0节点;第二遍将跨过jXj完全平方数能到达的点加入已清空的队列...,再广度遍历,遍历到9节点时,发现有距离是完全平方数3X3可以到达0节点。

39110
领券