用较小的正方形构造大正方形

时间:2013-03-28 17:18:57

标签: math dynamic-programming

我有一个大方形的边N。我想计算使用边缘值从1N-1的较小正方形构造这个大正方形所需的小正方形的数量。我有无数个这样的小方块。唯一的限制是我必须使用minimum个较小的方块。例如,如果N = 3,我可以使用5个大小为{{1的方格构造这​​个方块}和1平方的大小1。如何针对2的任何给定值解决此问题?

1 个答案:

答案 0 :(得分:0)

对于偶数N,您可以使用边N/2的4个方格,这是可能的最小值。对于奇数N,它有点复杂。奇数N的一种可能解决方案是(N+1)/2的一个方格,(N-1)/2的3个和大小为1的N-1,但我不完全确定它是最小的......例如,如果N=9,这将给出12个正方形,其中存在9个3x3正方形的更好解。不过,它可能是素数N的最佳解决方案。