黑马程序员技术交流社区
标题:
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
[打印本页]
作者:
920792433
时间:
2015-10-9 19:36
标题:
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
作者:
fmi110
时间:
2015-10-9 21:57
本帖最后由 fmi110 于 2015-10-9 21:58 编辑
public class T30 {
//有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
//分析:穷取法
public static void main(String[] args) {
int count = 0;
for (int i = 1; i < 5; i++) {
for (int j = 1; j < 5; j++) {
for (int k = 1; k < 5; k++) {
if(i!=j && j!=k && k!=i){//三位数都不相同
count++;
System.out.print(""+i+j+k+" ");//输出每位数
if(count%4==0)//输出四个数后换行
System.out.println();
}
}
}
}
System.out.println("总个数是:"+count);
}
}
复制代码
123 124 132 134
142 143 213 214
231 234 241 243
312 314 321 324
341 342 412 413
421 423 431 432
总个数是:24
复制代码
作者:
迷茫不堪的年纪
时间:
2015-10-9 23:19
直接用 if(count%4==0) 吧表现格式也表现出来了。蛮好哈。{:2_31:}
作者:
徐慧shanghai
时间:
2015-10-10 16:22
写个循环就好了
for(i=1;i<5;i++)
for(j=2;j<5;j++)
for(k=3;k<5;k++){
如果有数字相等,就continue
没有数字相等就输出 i*100+j*10+k
}
就好了阿
作者:
zrc203
时间:
2015-10-10 19:29
import java.util.*;
public class HashMapTest{
public static void main(String[] args){
Random r = new Random();
Set<Integer> set = new TreeSet<Integer>();
int d=0;
int n = 1;
while(n<500){
int a = r.nextInt(4)+1;
int b = r.nextInt(4)+1;
int c = r.nextInt(4)+1;
if(a==b||a==c||b==c)
continue;
d=a*100+b*10+c;
set.add(d);
n++;
}
Iterator<Integer> iter = set.iterator();
int n1 = 1;
while(iter.hasNext()){
System.out.print((int)iter.next()+",");
if(n1%5==0)
System.out.println();
n1++;
}
System.out.println();
System.out.println("总数:"+set.size());
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2