JAVA菜鸟求解:九宫格问题满足以下需求 2C

目标: 打印一个 9*9 的九宫格
必须满足一下两个条件
条件1: 任意一行或者一列都满足9个不同的数字
条件2: 任意一个小9格正方形都满足9个不同的数字

自己尝试过的
方案1: 通过设定满足条件 无限次循环生成任意数字的矩阵 直到满足后跳出循环
结果失败:无法运行
方案2 : 做遍历处理,设定每生成一个数字都经过两种条件校验,通过设定参数times 为每一个数字的判断次数,当等于9时,退回上一个位置,并且重新生成上一个参数
结果失败: 可达到条件1 由于不满足一定的算法 达不到条件2

要求: 能够完整满足要求的完整代码

3个回答

public class test {
public static void main(String[] args) {
for(int i=0;i<9;i++){
for(int j=0;j<9;j++){
System.out.print((i+j)%9+" ");
}
System.out.println();
}
}
}public class test {
public static void main(String[] args) {
for(int i=0;i<9;i++){
for(int j=0;j<9;j++){
System.out.print((i+j)%9+" ");
}
System.out.println();
}
}
}

javaYcode
AlgoChen 回复wangchao263574375: 9个不同的数字 不是1-9 就是0-8 对编程有区别么?实质一样的 关键条件2 你那个能实现...?
4 年多之前 回复
javaYcode
AlgoChen 回复wangchao263574375: 9个不同的数字 不是1-9 就是0-8 对编程有区别么?实质一样的 关键条件2 你那个能实现...?
4 年多之前 回复
wangchao263574375
wangchao263574375 回复javaYcode: 你确定你写了1-9?
4 年多之前 回复
javaYcode
AlgoChen 别闹好么....... 你看条件了么
4 年多之前 回复
    for(int k = 1;k<=81;k++){
        System.out.print(k+" ");
        if(k%9==0){
            System.out.println();
        }
    }

麻烦看下 条件
重申 条件2 : 9*9 方阵中 任意一个 小九宫格(3*3) 也必须满足 1-9 9个不同的数字

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问