自己用java写了一个9x9数独解题的小程序,用的是穷举法,解一般的题目问题不大

代码如下:

package Test;
public class SensibleGame {
 /**
  * @param args
  */
 int[][] mainNumber;
 boolean[][] flagNumber;
 public SensibleGame(int[][] mainNumber)
 {
  this.mainNumber = mainNumber;
  flagNumber = new boolean[9][9];
  for(int i=0;i8 || j8)
   {
    System.out.print("下标越界!");
    return;
   }
   if(previousFlag == false)
   {
    if(flagNumber[i][j] == true)
    {
     previousFlag = false;
     if(i==8 && j==8)
     {
      System.out.print("计算结束
");
      break;
     }
     else if(i>=0&&i=0&&i0&&i0&&i0)
    {
     mainNumber[i][j] = mainNumber[i][j] + 1;
     flag = CheckAll(i, j);
    }
    if(flag == true)
    {
     previousFlag = false;
     if(i==8&&j==8)
     {
      System.out.println("计算结束
");
      break;
     }
     else if(i>=0&&i0&&i

运行结果如下:

计算结束
493516728
762498351
185372469
837925614
216843975
549761283
654137892
921684537
378259146

登录后复制

以上就是数独解题小程序实现代码的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部