java例题_11 求不重复数
1 /*11 【程序 11 求不重复数字】
2 题目:有 1、2、3、4 这四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
3 程序分析:可填在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
4 */
5
6
7 /*分析
8 * 根据提示,三个位子分别放入这个四个数字,可以用三重for循环,然后添加if条件排除掉有重复的组合,就可以得到所有的无重复三位数
9 * 另外,加一个count计数器,没有一个满足的数字就加1,就能得到有多少个
10 * */
11
12 //【注】如果有0的存在,要注意百位不能为0;
13
14 package homework;
15
16 public class _11 {
17
18 public static void main(String[] args) {
19 // 声明计数器count
20 int count=0;
21 //第一层循环表示百位
22 for (int i = 1; i<=4; i++) {
23 //第二层循环表示十位
24 for (int j = 1; j <=4; j++) {
25 //添加if条件排除十位和百位相同的三位数
26 if(i==j) {
27 continue;
28 }
29 else {
30 //第三层循环表示个位
31 for (int k = 1; k <=4; k++) {
32 //添加if条件判断是否有重复数字
33 if((i==k)||(j==k)) {
34 continue;
35 }
36 else {
37 System.out.print(i*100+j*10+k+" ");
38 count++;
39 }
40 }
41 }
42
43 }
44 System.out.print("\n"); //排版好看
45 }
46 System.out.println("满足条件的三位数有"+count+"个");
47
48 }
49
50 }