这是一个经典的C语言算法题目,题目是给出一个给定的图形,根据这幅图形里的作标可以求出这幅图形一共可有构成多少个正方形。
例如下面这个图形:
下面是解题思路:首先采用组合算法,得出这些顶点一共能构成多少个有四个顶点构成的四边形,并列出每一个四边形,然后用一个子函数对这四边形进行判断,若是正方形就加一,这样就可以得出一共含有多少个正方形。
具体代码:
#include<stdio.h>
#include<math.h>
/*输入的图形的顶点数量,一定要输入正确的顶点数量,修改这个值可以得到不同的点情况下的
正方形数量*/
#define N 13
#define B ((N*(N-1)*(N-2)*(N-3))/(4*3*2))
typedef struct{
int x;
int y;
}Point;
typedef struct{
Point a[4];
}Squre;
Point dian[N];
Point queue[4]; /*