A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© aa524500 中级黑马   /  2014-12-27 23:35  /  1296 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

[/*有1、2、3、4、5、6、7、8、9个数字,能组成多少个互不相同且无重复数字的四位数?
程序分析:可填在千位、百位、十位、个位的数字都是1、2、3、4、5、6、7、8、9。
组成所有的排列后再去掉不满足条件的排列。*/

public class Test6{
        public static void main(String[] args){
                int count = 0;
                for(int a=1; a<=9; a++)
                {
                        for(int b=1; b<=9; b++)
                        {
                                for(int c=1; c<=9; c++)
                                {
                                        for(int d=1; d<=9; d++)
                                        {
                                                if(a!=b & a!=c & a!=d & b!=c & b!=d & c!=d)
                                                        count++;
                                        }
                                }
                        }
                }
                System.out.println(count[/code]

1 个回复

倒序浏览
好像说不建议超过3重以上的循环结构。你这样还不如定义一个增量来代表数字,然后符合条件就打印不符合就跳过继续,每循环一次增量值+1。这样只用一重for循环了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马