求九宫格算发,即1到9填到格子里,横竖斜加起来等于15

问题描述:

求九宫格算发,即1到9填到格子里,横竖斜加起来等于15
1个回答 分类:数学 2014-11-10

问题解答:

我来补答
给你一个思路,此思路不仅能解决3*3的格子相加的问题.
还能解决 5*5 7*7 9*9 等等奇数个格子的问题,以此类推.
这就是任意奇阶幻方的构造法,中国早在大禹治水的时候就已经发现了这个规律的.宋代数学家杨辉更有总结:“九子排列,上下对易,左右相更,四维挺出.”,闲话不说,开始吧:
我们以 3*3 为例,一共有9个格子,就是九宫格了.
那么我们要填写1~9 共9个数字.
我们用 R 表示行,C 表示列.例如 R9C7 就表示第9行第7列
首先,把 “1”填写到第一列,中间行的一个格子.对于3*3的格子来说就是 R2C1
好了,其他的数字只要按照以下规律填写就可以了:
从1开始,按顺序把其他数字填写在上一个数字的左上角.如果遇到左上角已经被填写,就填写在同一行的右边一个格即可,然后继续左上角.注意:把上下左右看作是连接起来的
例如:现在3*3的格子.我们把“1”填写在 R2C1
那么“2”就应该填写在R2C1的左上角,也就是纵坐标和横坐标各减“1”,即,填写“2”的格子的坐标就是 R1C0 可是没有C0 这个列啊,刚才我们讲了,把左右看成是链接起来的.也就是可以吧 C3 看成是C0,那么我们就找到了“2”该填写的地方,也就是 R1C3,然后再来填写“3”,把上下看成是链接起来的,就应该把“3”填写在 R3C2,然后“4”应该填写在 R2C1,但是这个时候R2C1已经填写了“1”了,所以我们按照规则,把他填写在右边,就是在“3”的右边,即R3C3,接着又把“5”填写在 R2C2 以此类推就能得到正确结果.
填写好的形式如下:
6 7 2
1 5 9
8 3 4
建议你参考一下数学上面的“罗伯幻方”,这是中国在N年前就解决了的数学问题
程序写起来非常简单,我就不给你写了,你自己想想怎么写吧,实在不会写再来找我帮你写.
 
 
展开全文阅读
剩余:2000