下面我把自己对这道算法题的解题思路和代码重新整理了一遍。...1,1},{1,3},{3,1},{3,3} {1,2},{2,2},{1,3},{2,3} {2,1},{2,2},{3,1},{3,2} {2,2},{3,3},{2,3},{3,2}
解题思路
1、从所有坐标集合中任意选出所有...4个坐标的组合;
2、遍历所有4个点坐标组合,根据4个点组成的四边形首先判断两条对角线的中点是否重合,不重合则一定不是正方形;
3、根据点的坐标判断两条邻边是否相等以及两条邻边长度的平方和是否等于对象线长度的平方和...;
4、若同时满足条件2和4,则该组四个点组成正方形,正方形计数加1,同时将该坐标组合添加到一个新的List中;
5、遍历结束,输出正方形计数并遍历打印所有能组成正方形的List中的坐标组合。...个坐标中选出4个点一共有C(4,9)共21种组合,从程序的输出结果我们可以看到它们只能组成5个正方形,把他们放到坐标系中验证5组4个点的组合都可以组成正方形。