小玩意

本文介绍了一个基于Java的九宫格数独求解程序。该程序通过遍历所有可能的组合来寻找符合条件的数独解决方案。文章重点介绍了如何使用多重循环和条件判断来实现数独验证和输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.test.main;


import java.util.HashSet;
import java.util.Set;


public class D {
public static void a(){
Integer[] ints1 = new Integer[]{1,2,3,4,5,6,7,8,9};
Integer[] ints2 = new Integer[]{1,2,3,4,5,6,7,8,9};
Integer[] ints3 = new Integer[]{1,2,3,4,5,6,7,8,9};
Integer[] ints4 = new Integer[]{1,2,3,4,5,6,7,8,9};
Integer[] ints5 = new Integer[]{1,2,3,4,5,6,7,8,9};
Integer[] ints6 = new Integer[]{1,2,3,4,5,6,7,8,9};
Integer[] ints7 = new Integer[]{1,2,3,4,5,6,7,8,9};
Integer[] ints8 = new Integer[]{1,2,3,4,5,6,7,8,9};
Integer[] ints9 = new Integer[]{1,2,3,4,5,6,7,8,9};
System.out.println("======start========");
for (int i = 0; i < ints1.length; i++) {
for (int j = 0; j < ints2.length; j++) {
for (int j2 = 0; j2 < ints3.length; j2++) {
for (int k = 0; k < ints4.length; k++) {
for (int k2 = 0; k2 < ints5.length; k2++) {
for (int l = 0; l < ints6.length; l++) {
for (int l2 = 0; l2 < ints7.length; l2++) {
for (int m = 0; m < ints8.length; m++) {
for (int m2 = 0; m2 < ints9.length; m2++) {
if (D.c(ints1[i], ints2[j], ints3[j2], ints4[k], ints5[k2], ints6[l], ints7[l2], ints8[m], ints9[m2])) {
D.output(ints1[i], ints2[j], ints3[j2], ints4[k], ints5[k2], ints6[l], ints7[l2], ints8[m], ints9[m2]);
}
}
}
}
}
}
}
}
}
}
System.out.println("======end========");
}
public static void output(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9){
if ((a1+a2-9)==4&&((a4-a5)*a6)==4&&(a7+a8-a9)==4&&
((a1+a4)/a7)==4&&((a2-a5)*a8)==4&&(9-a6-a9)==4) {
System.out.println("==========================================");
System.out.println("========"+a1+"=========="+a2+"==========9==============");
System.out.println("========"+a4+"=========="+a5+"=========="+a6+"==============");
System.out.println("========"+a7+"=========="+a8+"=========="+a9+"==============");
System.out.println("==========================================");
}
}
public static void output1(){
// if ((ints1[i]+ints2[j]+ints3[j2])==(ints4[k]+ints5[k2]+ints6[l])&&
// (ints1[i]+ints2[j]+ints3[j2])==(ints7[l2]+ints8[m]+ints9[m2])&&
// (ints1[i]+ints2[j]+ints3[j2])==(ints1[i]+ints4[k]+ints7[l2])&&
// (ints1[i]+ints2[j]+ints3[j2])==(ints2[j]+ints5[k2]+ints8[m])&&
// (ints1[i]+ints2[j]+ints3[j2])==(ints3[j2]+ints6[l]+ints9[m2])&&
// (ints1[i]+ints2[j]+ints3[j2])==(ints1[i]+ints5[k2]+ints9[m2])&&
// (ints1[i]+ints2[j]+ints3[j2])==(ints3[j2]+ints5[k2]+ints7[l2])) {
// System.out.println("==i="+i+"==ints1="+ints1[i]+"=="
// + "==ints2="+ints2[j]+"=="
// + "==ints3="+ints3[j2]+"=="
// + "==ints4="+ints4[k]+"=="
// + "==ints5="+ints5[k2]+"=="
// + "==ints6="+ints6[l]+"=="
// + "==ints7="+ints7[l2]+"=="
// + "==ints8="+ints8[m]+"=="
// + "==ints9="+ints9[m2]+"==");
// }
}
public static boolean c(int a1,int a2,int a3,int a4,int a5,int a6,int a7,int a8,int a9){
Set<Integer> set = new HashSet<Integer>();
set.add(a1);
set.add(a2);
set.add(a3);
set.add(a4);
set.add(a5);
set.add(a6);
set.add(a7);
set.add(a8);
set.add(a9);
if (set.size()==9) {
return true;
}
return false;
}
public static void main(String[] args) {
D.a();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值