这里有一个用1-9填的数字矩阵
4 9 2
3 5 7
8 1 6
a、这些数字之间有什么关系?
b、这些数字的排列有什么规律?
c、请用这两个规律,用1-25这25个数填到一个5*5的矩阵内。
a、横竖的和相等.
b、数字从1开始,按“右下”行进,同时把数字填入坐标所在的方框内,i = (i + 1)mod 3,j = (j + 1) mod 3;当填完3个数后,回到开始位置,这个时候j = (j +
2)mod 3,I = (i + 1 ) mod 3;以上数字3可以设为变量k = sqrt(n).
c、由b的规律可得:
\#include "stdafx.h"\
int g\_Grid[10][10];\
void GeneratingGrid( int n ){\
int nCnt = 1;\
int i = 0, j = 0;\
while( nCnt \<= n\*n )\
{\
while( g\_Grid[i][j] == 0 ){\
g\_Grid[i][j] = nCnt++;\
i = (i + 1)%n;\
j = (j + 1)%n;\
}\
\
i = (i + 1)%n;\
j = (j + 2)%n;\
}\
}\
int main(){\
int n;\
cin \>\> n;\
GeneratingGrid( n );\
\
for( int i = 0; i \< n; i++ ){\
for( int j = 0; j \< n; j++ )\
cout \<\< setw(4) \<\< g\_Grid[i][j];\
cout \<\< endl;\
}\
}\
/\*\
5\
1 10 14 18 22\
23 2 6 15 19\
20 24 3 7 11\
12 16 25 4 8\
9 13 17 21 5\
请按任意键继续. . .\
\*/