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 }

 

posted @ 2020-02-11 22:57  浪漫主义程序员  阅读(357)  评论(0编辑  收藏  举报