算法_趣味整数_Question10_不重复的三位数(java实现)

这篇文章讲述的是算法趣味整数部分的不重复的3位数问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。

问题描述

用1,2,3,4,共4个数字能组成多少个互不相同且无重复数字的三位数?都是多少?

算法分析

穷举法,使用3层循环来确定百、十、个为数,再判断每一位是否相等,不相等则输出

代码实现

package funnyInteger;
/**
 * @author 叶清逸
 * @date 2018年7月14日下午9:33:49
 * @version 1.0
 * @project funnyInteger
 */
public class Q10_NoRepetitionNumber {
    /**
     * 问题描述:用1,2,3,4,共4个数字能组成多少个互不相同且无重复数字的三位数?都是多少?
     * 
     * 算法分析:穷举法,使用3层循环来确定百、十、个为数,再判断每一位是否相等,不相等则
     *          输出
     */
    public static void main(String[] args) {
        /*使用num来统计结果个数*/
        int num = 0 ;
        /*使用三层循环遍历百位、十位、个位*/
        for(int hundred=1 ; hundred<=4 ; hundred++)
            for(int ten=1 ; ten<=4 ; ten++)
                for(int one=1 ; one<=4 ; one++){
                    if(hundred!=ten && hundred!=one && ten!=one){
                        num++ ;
                        System.out.print(hundred+""+ten+""+one+" ");
                        if(num%8 == 0)
                            System.out.println();
                    }
                }
        System.out.println("共"+num+"个");
    }
}

样例输出

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个

猜你喜欢

转载自blog.csdn.net/u013634252/article/details/81047978