九宫阵的解答有哪些好方式?

王朝干货·作者佚名  2011-11-28
窄屏简体版  字體: |||超大  

如何填写奇数宫格:

设n*n宫格的阶数是n,n是正奇数。

n*n宫格的单元格表示为cell(i, j)

i为行号,取值范围为[1, n]

j为行号,取值范围为[1, n]

cell(i, j)=k,表示单元格cell(i, j)的数为k

k= 1; //第一个填入的数是“1”

i= 1; //第一个填入的数“1”的行号是1

j= 1 + n/2; //第一个填入的数“1”的列号是1 n/2

//“/”是截除小数,只保留整数部分。

//如:n= 3, (1 + n/2)= (1 + 1)= 2

while (k n*n) //如果还没有填满n*n个数,就继续

{

cell(i, j)= k;

if (i= 1 ) //如当前的单元格的行号等于1,已经到达最高一行

{

i= n; //那么,下一个单元格的行号为n,即跳到最低一行

}

else //不然,下一个单元格的行号为当前的单元格的行号-1

{

i= i - 1; //即跳到当前的单元格的上一行

}

if (j= n) //如当前的单元格的列号等于n,已经到达最右一列

{

j= 1; //那么,下一个单元格的列号为1,即跳到最左一列

}

else //不然,下一个单元格的列号为当前的单元格的列号 1

{

j= j + 1; //即跳到当前的单元格的右一列

}

k= k + 1; //下一个要填入的数是刚填入的数的+1

}

2、4为肩,6、8为足,左7右3,戴9履1,5居中央!

每一行和列都是一到九的不重复数,解不出时就查一遍,其实很简单,也很有趣。

我有一个十分简单的方法,而且是我见过的书中未曾出现的解题方法(对奇数方阵)小朋友也可用此法做出来。现提出供大家参考。如下:

先将此方阵按其顺序排列(以九乘九方阵为例)

1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18

19 20 21 22 23 24 25 26 27

28 29 30 31 32 33 34 35 36

37 38 39 40 41 42 43 44 45

46 47 48 49 50 51 52 53 54

55 56 57 58 59 60 61 62 63

64 65 66 67 68 69 70 71 72

73 74 75 76 77 78 79 80 81

按两中线(上面的数列)变两对角(要排的方阵)的方法先排出9 9-1=17个数

这样上面的数列每行都有一个数在九乘九的方阵中,每行将余下的八个数依大小顺序按行增1列减1(或行增1列增1)的方法有规律的排下去即可。我现排出来,大家可从中找出其中的规律。此规律适合任何单数方阵

(对不起, 要下班了,下午给大家)

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航