zoukankan      html  css  js  c++  java
  • java编码 100匹马 100块瓦

    我给分为了两块  一个专门写代码    一个专门输出  看结果  用到太多的 if  

    还有一个简单的 没有用到太多的 if 判断

    没有写注释  知识点都在我发的那些博客里面  如果还是有不懂的  可留言  补上注释

    代码类 :  if 判断的

    /**
     *    问:有100匹马 有100片瓦,
     *          大马能托3片瓦,中马能托2片瓦,三只小马能托一片瓦,正好这100匹马,把这100片瓦拉完.
     *                  问有多少匹大马,多少匹中马,多少匹小马?
     */
    public class Dai_Ma{
        public static void m1(){
    ZhongZhi:   for(int d=1; d <100 ; ++d){  //我这里代表大马
                for(int z=1; z <100 ; ++z){  //我这里代表中马
                    for (double x=1; x < 100 ; ++x ){  // 我这里代表小马
                        if (d + z + x == 100 &&  3*d + 2*z + x/3 == 100) {
                            System.out.println( "第一种答案 :  " );
                            System.out.print("大马为 : "+ d + "  匹 "  );
                            System.out.print( "     中马为 : " + z + "  匹  " );
                            System.out.println( "     小马为 : " + x + "  匹   " );
                            break ZhongZhi;
                        }
                    }
                }
                
            }
        }
        public static void m2(){
    ZhongZhi:   for(int d=1; d <100 ; ++d){  //我这里代表大马
                for(int z=1; z <100 ; ++z){  //我这里代表中马
                    for (double x=1; x < 100 ; ++x ){  // 我这里代表小马
                        if (d + z + x == 100 &&  3*d + 2*z + x/3 == 100) {
                            if (d != 5.0) {
                            System.out.println( "第二种答案 :  " );
                            System.out.print("大马为 : "+ d + "  匹 "  );
                            System.out.print( "     中马为 : " + z + "  匹  " );
                            System.out.println( "     小马为 : " + x + "  匹   " );
                            break ZhongZhi;
                            }
                        }
                    }
                }
                
            }
        }
        public static void m3(){
    ZhongZhi:   for(int d=1; d <100 ; ++d){  //我这里代表大马
                for(int z=1; z <100 ; ++z){  //我这里代表中马
                    for (double x=1; x < 100 ; ++x ){  // 我这里代表小马
                        if (d + z + x == 100 &&  3*d + 2*z + x/3 == 100) {
                            if (d != 5) {
                                if (d != 10) {
                                System.out.println( "第三种答案 :  " );
                                System.out.print("大马为 : "+ d + "  匹 "  );
                                System.out.print( "     中马为 : " + z + "  匹  " );
                                System.out.println( "     小马为 : " + x + "  匹   " );
                                break ZhongZhi;    
                                }
                            }
                           
                        }
                    }
                }
                
            }
        }
        public static void m4(){
    ZhongZhi:   for(int d=1; d <100 ; ++d){  //我这里代表大马
                for(int z=1; z <100 ; ++z){  //我这里代表中马
                    for (double x=1; x < 100 ; ++x ){  // 我这里代表小马
                        if (d + z + x == 100 &&  3*d + 2*z + x/3 == 100) {
                            if (d != 5) {
                                if (d != 10) {
                                    if (d != 15) {
                                    System.out.println( "第四种答案 :  " );
                                    System.out.print("大马为 : "+ d + "  匹 "  );
                                    System.out.print( "     中马为 : " + z + "  匹  " );
                                    System.out.println( "     小马为 : " + x + "  匹   " );
                                    break ZhongZhi;    
                                    }
                                }
                           
                            }
                           
                        }
                    }
                }
                
            }
        }
        public static void m5(){
    ZhongZhi:   for(int d=1; d <100 ; ++d){  //我这里代表大马
                for(int z=1; z <100 ; ++z){  //我这里代表中马
                    for (double x=1; x < 100 ; ++x ){  // 我这里代表小马
                        if (d + z + x == 100 &&  3*d + 2*z + x/3 == 100) {
                            if (d != 5) {
                                if (d != 10) {
                                    if (d != 15) {
                                        if (d != 20) {
                                        System.out.println( "第五种答案 :  " );
                                        System.out.print("大马为 : "+ d + "  匹 "  );
                                        System.out.print( "     中马为 : " + z + "  匹  " );
                                        System.out.println( "     小马为 : " + x + "  匹   " );
                                        break ZhongZhi;   
                                        }else{
                                        System.out.println("没有答案了 就四种"  );
                                        }
                                        
                                    }
                                }
                           
                            }
                           
                        }
                    }
                }
                
            }
        }
    }

    查看结果类 :

    /**
     *    问:有100匹马 有100片瓦,
     *          大马能托3片瓦,中马能托2片瓦,三只小马能托一片瓦,正好这100匹马,把这100片瓦拉完.
     *                  问有多少匹大马,多少匹中马,多少匹小马?
     */
    public class Jie_Guo{
        public static void main(String[] args){
            Dai_Ma.m1();
            Dai_Ma.m2();
            Dai_Ma.m3();
            Dai_Ma.m4();
            Dai_Ma.m5();
        }
    }

     简单的  :

    public class Jian_Dan{
           static int c = 0;//静态变量
        public static void main(String[] args){
            m1();//调用m1方法
        }
        public static void m1(){//声明静态方法
            for(int d=1; d <100 ; ++d){//这里表示大马
                for(int z=1; z <100 ; ++z){//这里表示中马
                    for(double x=1; x <100 ; ++x){//这里表示小马
                        if (d + z + x == 100  && 3*d + 2*z + x/3 == 100 ) { //判断 为真 就执行一下语句
                            c += 1;//进来一次 都和c相加 在赋值给c
                        System.out.println( "第 " + c + "种答案 : " );//c进来几次 就证明有几次正确答案
                        System.out.println("大马有 :"+d +"  中马有 : "+z + "  小马有 : " + x );
                        }
                    }
                }
                
            }
        }
    }

  • 相关阅读:
    Codeforces758C
    Codeforces758B
    CodeForces758A
    数据库实习
    数据结构实习-迷宫(基于Qt实现)
    CodeForces757B
    CodeForces757A
    HDU3790
    数据结构实习
    Codeforces374B
  • 原文地址:https://www.cnblogs.com/xrmqbl/p/4722595.html
Copyright © 2011-2022 走看看