数字九宫格
九宫格就是3*3的方格。把1~9填入九个方格中。要求水平、竖直、对角线方向上,每三个数字相加和都是15.求9个数字如何摆放?
这个题我们小学都玩过:
最简单的,最笨的方法是一个一个的尝试;
诀窍:
1.从第一列中间方格开始;
2.下一个数字应该“左上角”;
3.如果重复,则放到右边方格。
左出右入;上出下入
诀窍不单单适用于3*3的九宫格,像5*5,7*7,11*11等都适用。
数据结构分析:
二维数组,利用每维的下标来控制放置数字,利用诀窍判断下标。
将i放入方格a[x][y],i+1放入方格a[x1][y1]
左上角原则:x1=x-1; y1=y-1;
左出右入:x1=x-1; y1=2;
上出下入:x1=2; y1=y-1;
占位右移:x1=x; y1=y+1;
for(i=2;i<10;i++){ x1=x1; y1=y-1; if(y1<0) y1=2; if(x1<0) x1=2; if(a[x1][y1]!=0) { x1=x; y1=y+1; } a[x1][y1]=i; x=x1; y=y1;}
本文介绍了一种解决九宫格填数问题的有效方法,即通过特定的摆放规律实现1到9数字的正确填充,确保每一行、列及对角线上的数字之和均为15。文中还详细阐述了使用二维数组作为数据结构来实现这一过程的技术细节。
3659

被折叠的 条评论
为什么被折叠?



