Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 求一个数的所有可能的非连续平方和_Algorithm - Fatal编程技术网

Algorithm 求一个数的所有可能的非连续平方和

Algorithm 求一个数的所有可能的非连续平方和,algorithm,Algorithm,问题是:给定一个数字n。找出可以用非连续和非重复的平方和书写的方法的数量。例如,n=117,可以用3种方式编写: 1^2 + 4^2 + 6^2 + 8^2 = 117 1^2 + 4^2 + 10^2 = 117 6^2 + 9^2 = 117 我曾考虑过使用动态规划,使用2D表格(每个维度都是sqrt(n)),但我想不出填充表格的方法。如果有人能给我一个关于如何解决这个问题或其他解决这个问题的方法的建议,我将不胜感激。把这个问题当作如何解决这个问题: 我看到两项主要任务: 找到任何与目标求

问题是:给定一个数字
n
。找出可以用非连续和非重复的平方和书写的方法的数量。例如,
n=117
,可以用3种方式编写:

1^2 + 4^2 + 6^2 + 8^2 = 117
1^2 + 4^2 + 10^2 = 117
6^2 + 9^2 = 117

我曾考虑过使用动态规划,使用2D表格(每个维度都是
sqrt(n)
),但我想不出填充表格的方法。如果有人能给我一个关于如何解决这个问题或其他解决这个问题的方法的建议,我将不胜感激。

把这个问题当作如何解决这个问题:

我看到两项主要任务:

  • 找到任何与目标求和的平方序列
  • 考生考试顺序为特殊排除连续性

  • 您已经发现不需要测试x>sqrt(n)。

    通过一些小的调整,这本质上是一个硬币兑换问题,它有完善的算法和实现。祝你好运