使用1-9 这9 个数字填充一个3X3 的数组,要求输出所有可能的情况。

lunarfan 2012-02-10 08:56:36
rt
...全文
239 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
尘缘udbwcso 2012-02-10
  • 打赏
  • 举报
回复

public class PermutCombi {
static void output(int[] num, int length) {
int i;
for (i = length - 1; i >= 0; --i)
System.out.print((num[i]+1) + " ");
System.out.println();
}

static void permutCombi(int n) {
int[] num, mark;
int i, flag;
num = new int[n + 1];
mark = new int[n];
for (i = 0; i <= n; ++i)
num[i] = 0;
do {
for (i = 0; i < n; ++i)
mark[i] = 0;
flag = 0;
++num[0];
for (i = 0; i < n; ++i) {
if (num[i] == n) {
num[i] = 0;
++num[i + 1];
}
++mark[num[i]];
// 各位数组单元有无重复
if (mark[num[i]] > 1) {
flag = 1;
break;
}
}
if (flag == 0)
output(num, n);
} while (num[n] == 0);
}

public static void main(String[] args) {
int n = 9;
permutCombi(n);
}
}

MiceRice 2012-02-10
  • 打赏
  • 举报
回复
其实就是9个数字的排列组合,9!

至于什么3X3数组,你当成9个元素的一维数组来处理也完全一样。

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧