/** * 题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? * 时间:2015年7月29日08:31:58 * 文件:Lianxi11.java * 作者:cutter_point */ package bishi.zuixin50.t2015729; import java.util.ArrayList; import java.util.List; public class Lianxi11 { public static void main(String[] args) { List need = new ArrayList<String>(); need.add("1"); need.add("2"); need.add("3"); need.add("4"); int sum = 0; //循环我们数据的百位数 for(int i = 0; i < need.size(); ++i) { //初始化我们的数据 StringBuilder value = new StringBuilder(""); //吧百位添加进去 value.append(need.get(i)); //创建一个新的链表保存我们的去掉一个数据之后的数据 List need2 = new ArrayList<String>(need); need2.remove(need.get(i)); for(int j = 0; j < need2.size(); ++j) { //初始化我们的数据 StringBuilder value2 = new StringBuilder(value); //吧十位添加进去 value2.append(need2.get(j)); //创建一个新的链表保存我们的去掉一个数据之后的数据 List need3 = new ArrayList<String>(need2); need3.remove(need2.get(j)); //循环我们的个位数 for(int k = 0; k < need3.size(); ++k) { //初始化我们的数据 StringBuilder value3 = new StringBuilder(value2); //吧个位添加进去 value3.append(need3.get(k)); //输出 System.out.println(value3.toString()); ++sum; } } }/*for(int i = 0; i < */ System.out.println("总的个数是:" + sum); System.out.println("========================官方答案========================"); getDiffNum(); } public static void getDiffNum() { //统计个数 int count = 0; for(int x = 1; x < 5; ++x) //循环百位 { for(int y = 1; y < 5; ++y) //循环十位 { for(int z = 1; z < 5; ++z) { if(x != y && x != z && y != z) { ++count; System.out.println(x*100 + y*10 + z); } } } } System.out.println("总的个数是:" + count); } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/cutter_point/article/details/47379893