有没有人能教我用C++ MFC实现正方形的拆分(有偿)。下面是算法:
正方形的四个直角都必然会成为更小正方形的一部分,明显n为2、3和5时都是无解的。n=4的解是显而易见的。这个解可以推广到所有的偶数n=2k,在所给定的正方形中,沿着相邻的两个边划出2k-1个等大的小正方形,每个小正方形的边长等于大正方形边长的1/k。如果 n>5且n 为奇数,意味着n=2k+1,这里 >2,那么n=2(k-1)+3。我们可以先把给定的正方形按照上边偶数的方法拆分成2(k-1)个小正方形,然后选择任意其中一个(例如,左上角的那个),划分成4个更小的正方形,这样所获得的正方形的总数就多了3个。