【程序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 + "个互不相同且无重复数字的三位数");
}
}