基础编程50题

【题目11】从四个互不相同的数中选三个进行排列

2017-03-26  本文已影响89人  Xplorist

【程序11】
题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

package com.share.test11_20;

/**
 * 【程序11】题目:<br>
 * 有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
 * 
 * @author brx   
 */
public class Test11 {
    public static void main(String[] args) {
        test();
    }

    /**
     * 思路:<br>
     * 组成三位数,就是要选三个数,三层循环,每一层代表选出一个数出来,<br>
     * 由于三层循环,每层的数都是递增的,保证了互补相同,只要确保每一位上面的数字不同就行了。<br>
     * 核心思路是选择排序的思想。
     */
    public static void test() {
        int[] a = { 1, 2, 3, 4 };
        int count = 0;
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a.length; j++) {
                for (int k = 0; k < a.length; k++) {
                    if (i != j && i != k && j != k) {
                        System.out.println("" + a[i] + a[j] + a[k]);
                        count++;
                    }
                }
            }
        }
        System.out.println("有1、2、3、4四个数字,能组成" + count + "个互不相同且无重复数字的三位数");
    }
}

上一篇 下一篇

猜你喜欢

热点阅读