1 /*
2 10. 如图1所示,编写程序计算 ┎┰┰┰┰┰┰┰┰┰┒
3 大大小小正方形共有多少?当最小 ┠╂╂╂╂╂╂╂╂╂┨
4 正方行边长为1时,它们的总面积 ┠╂╂╂╂╂╂╂╂╂┨
5 共为多少? ┠╂╂╂╂╂╂╂╂╂┨
6 ┠╂╂╂╂╂╂╂╂╂┨
7 ┠╂╂╂╂╂╂╂╂╂┨
8 ┠╂╂╂╂╂╂╂╂╂┨
9 ┠╂╂╂╂╂╂╂╂╂┨
10 ┠╂╂╂╂╂╂╂╂╂┨
11 ┠╂╂╂╂╂╂╂╂╂┨
12 ┖┸┸┸┸┸┸┸┸┸┚
13
14 */
15
16 #include <iostream>
17
18 using namespace std;
19
20 void main(void)
21 {
22 const int N = 20;
23 int matrix[N][N];
24 int numOfEachQuad[N-1];
25 int numOfQuad = 0;
26 for (int k = 0; k < N - 1; k++ )
27 {
28 numOfEachQuad[k] = 0;
29 }
30 for (int i = 0; i < N; i++)
31 {
32 for (int j = 0; j < N; j++)
33 {
34 for (int len = 1; ; len++)
35 {
36
37 if ( i + len < N && j + len < N)
38 {
39 numOfEachQuad[len-1]++;
40 numOfQuad++;
41 } else
42 {
43 break;
44 }
45 }
46 }
47 }
48 int totalValue = 0;
49 for (i = 0; i < N - 1; i++)
50 {
51 totalValue += numOfEachQuad[i] * (i + 1)*(i + 1);
52 }
53 cout << "there are total " << numOfQuad << " quads\n";
54 cout << "the total value of these quads is " << totalValue << '\n';
55 }