你的位置:首页 > ASP.net教程

[ASP.net教程]1到9的数字填充后每行每列的数字相加都等于15的九宫格算法


 1 /// <summary> 2     /// 九宫格算法 3     /// </summary> 4     public void NineTable() 5     { 6       //创建一个三阶方阵 7       int[,] arr = new int[3, 3]; 8       //第3行的行下标 9       int a = 2;10       //第2行的行下标11       int b = 3 / 2;12       //给数组赋值13       for (int i = 1; i <= 9; i++)14       {15         arr[a++, b++] = i;16 17         //如果i是3的倍数18         if (i % 3 == 0)19         {20           a = a - 2;21           b = b - 1;22         }23         else //如果i不是3的倍数24         {25           a = a % 3;26           b = b % 3;27         }28       }29 30       StringBuilder sb = new StringBuilder();31       //遍历输出九宫格32       for (int i = 0; i < 3; i++)33       {34         for (int j = 0; j < 3; j++)35         {36           sb.Append(arr[i, j].ToString() + " ");37         }38         sb.Append("<br/>");39       }40       lbNineTable.Text = "输出九宫格:<br/>" + sb.ToString().Trim();41     }

View Code

 

程序运行的结果如下所示:

输出九宫格:
4 9 2
3 5 7
8 1 6