黑马程序员技术交流社区
标题:
几个数字组合指定位数数字问题,大家有没有什么更方便的方法
[打印本页]
作者:
米阳SOHO
时间:
2015-12-2 22:03
标题:
几个数字组合指定位数数字问题,大家有没有什么更方便的方法
package com.itheima;
/*
* 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
* 思路:把这四个数字添加到一个数组,然后从任取一位当作第一位,然后任意取第二位,但不能和第一位相同
* 取第三位但不能和前两位相同,拼接这三个组成一个字符串,Integer解析输出即可
*/
public class Test11 {
public static void main(String[] args) {
int[] arr=new int[]{1,2,3,4};
int count=0;
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length;j++){
if(arr[i]!=arr[j]){
for(int x=0;x<arr.length;x++){
if(arr[x] !=arr[i] && arr[x] !=arr[j]){
StringBuffer sb=new StringBuffer();
sb.append(arr[i]);
sb.append(arr[j]);
sb.append(arr[x]);
System.out.println(Integer.parseInt(sb.toString()));
count++;
}
}
}
}
}
//根据数学排列组合知识很容易得出结果应该是24个,可以验证。
System.out.println("可以组成满足条件的数字有"+count+"个");
}
}
作者:
莫盛强
时间:
2015-12-3 12:19
有!就是不要把数字放入数组。三位数就嵌套for循环三次。最大数字是4,每一次循环的最高位都是4。判断三个数字个不相同,然后第一个for循环乘100,第二个10,然后三个相加!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2