java算法小知识练习

  偶尔翻开了以前的练习题,不自觉又想随手敲一遍,虽然有些思想依然是那么老套,但毕竟也算是对知识的巩固 了。

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

    具体思路很简单,就是拿出一个数,跟其他三个中的任意两个不重复的组,最后加起来,

/**
 * 题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
 * 时间:2016年3月10日21:34:15
 * */
public class Zushu {

    public static void main(String[] args) {
        
        int num= 0,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 && i!=k && j!=k){
                        num = i*100+j*10+k;
                        count++;
                        System.out.print(num+" ");
                        
                    }
                    
                }
                
            }
            
        }
        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

  这种思路是比较笨 的一种方法,对于数字很多的时候,不太适合,嵌套循环太多,希望大神们有好的算法,多多指正!

 

 

  

posted @ 2016-03-10 21:45  狼牙曼巴  阅读(251)  评论(0编辑  收藏  举报