`
jackroomage
  • 浏览: 1223094 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

4个10以内的数字,通过四则运算得到24

阅读更多

网站地址:

http://www.diybl.com/course/3_program/java/javaxl/2008911/141866.html

请你用java写一个方法,判断给定的4个数字,每个数值在1~10之间,通过+ - * / 运算,结果为24,每个数字必须使用且只能使用一次。
代码:

 

public class T {
   int[] can = new int[4];

   public static void main(String[] args) {
     T tf = new T(3, 1, 2, 7);
     System.out.println(tf.getResult());
   }

   public T(int a, int b, int c, int d) {
     can[0] = a;
     can[1] = b;
     can[2] = c;
     can[3] = d;
   }

   public String getResult() {
     double result1 = 0;
     double result2 = 0;
     double result3 = 0;
     for (int i = 0; i < 4; i++) {
       for (int j = 0; j < 4; j++) {
         for (int k = 0; k < 4; k++) {
           if (i != j) {
             result1 = cal(can[i], can[j], k);
             for (int l = 0; l < 4; l++) {
               for (int m = 0; m < 4; m++) {
                 if (i != l && j != l) {
                   result2 = cal(result1, can[l], m);
                   for (int n = 0; n < 4; n++) {
                     for (int o = 0; o < 4; o++) {
                       if (i != n && j != n && l != n) {
                         result3 = cal(result2, can[n], o);
                         if (result3 == 24) {
                           return result(can[i], k, can[j], m, can[l], o, can[n]);
                         }
                       }
                     }
                   }
                 }
               }
             }
           }
         }
       }
     }
     return null;
   }

   private String result(int can1, int op1, int can2, int op2, int can3, int op3, int can4) {
     return "" + can1 + convert(op1) + can2 + convert(op2) + can3 + convert(op3) + can4;
   }

   private String convert(int opr) {
     if (opr == 0) {
       return "+";
     }
     else if (opr == 1) {
         return "-";
       } else if (opr == 2) {
         return "*";
       } else if (opr == 3) {
         return "/";
       }
       return "";
     }

     private double cal(double a, double b, int opr) {
       if (opr == 0) {
         return a + b;
       } else if (opr == 1) {
         return a - b;
       } else if (opr == 2) {
         return a * b;
       } else if (opr == 3) {
         return a / b;
       }
       return 0;
     }
   }

 

分享到:
评论

相关推荐

    四则运算自动出题程序

    程序可接收一个输入参数n,然后随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符是3-4个。 为了让小学生得到充分锻炼,每个练习题至少要包含2种运算符。同时,由于小学生没有分数与负数的概念,你所出...

    小学生四则运算练习系统

    【小学生四则运算练习系统】是一款专为小学生设计的数学练习软件,主要目的是通过JAVA编程实现自动生成不同难度级别的四则运算题目,帮助学生进行计算能力的训练。该系统涵盖了加、减、乘、除四种基本运算,并针对...

    C++四则运算课程设计

    在本课程设计中,我们探讨了如何使用C++来创建一个Windows操作系统下的四则运算软件。这个软件的主要目的是提供一个用户友好的环境,用于进行基本的数学口算练习,包括加、减、乘、除以及混合运算。以下是设计的关键...

    24点游戏 算24 限制在10以内的整数

    游戏的目标是通过四则运算(加、减、乘、除)以及括号的使用,将给出的四个10以内的整数组合成结果为24的算式。这个游戏不仅锻炼了玩家的逻辑思维和计算能力,还激发了对数学的兴趣。 在这个问题中,我们讨论的是...

    大班数学10以内的加减法PPT课件.pptx

    《大班数学10以内的加减法》是针对幼儿教育阶段的重要数学课程,旨在帮助孩子们初步理解并掌握10以内数字的加减运算。在这个阶段,孩子们的数学能力正处在启蒙阶段,通过生动有趣的课件教学,可以激发他们的学习兴趣...

    四则运算训练器软件C语言开发(软件代码+软件说明).pdf

    本文档介绍了一个使用C语言编写的四则运算训练器软件,该软件旨在帮助用户提升他们的基本算术技能,包括加、减、乘、除四种运算。以下是关于这个软件开发的关键知识点: 1. **C语言编程基础**: - 文件结构:程序...

    最新低年级100以内加减乘除混合运算题.doc

    《最新低年级100以内加减乘除混合运算题.doc》文档应运而生,为学生提供了一个学习和练习的平台,通过大量的混合运算题目,促进学生对100以内四则运算的理解和应用。 混合运算题型是数学基础教育中的重要内容,它...

    一年级数学下册8总复习练习四20以内的加减混合运算口算练习新人教版202004182209

    加减混合运算的题目设计,如12+7-8、11+9-10等,是让学生在运算中准确地应用数学的四则运算顺序规则。在这些题目中,学生不仅要正确进行加减法的计算,而且要学会在进行加减混合运算时,按照先乘除后加减的顺序,...

    100以内进位加退位减混合运算.doc

    而退位减法则是在计算两个数相减时,如果被减数某一位上的数字小于减数该位上的数字,则需要从高位借1进行计算。 #### 二、进位加法 **定义:** 当计算两个或多个数相加时,如果某一位上的数相加超过了9(例如,5+...

    50以内加减混合运算.doc

    2. **借位处理**:如果个位数相减时前面的数字小于后面的数字,则需要从前一位借位。 3. **十位数相减**:在考虑借位的情况下,计算十位数相减的结果。 #### 三、混合运算技巧 当面对加减混合运算时,可以采取以下...

    二年级100以内加减乘除混合运算780道.doc

    该文档共收录了780道针对二年级学生的四则运算混合题,旨在帮助他们通过重复练习提高对基础数学运算的熟练度。在题目中,孩子们将接触到数学运算的基本规则,包括运算顺序的遵循、分数的计算、零的特性和单位数的...

    100以内加减乘除混合运算题借鉴.pdf

    这类题目通常被包含在小学数学的练习册中,目的是为了让学生在解决实际问题时能够更加熟练地运用四则运算。本文将基于上文提供的知识点,详细解析100以内混合运算题型,并为家长和教师提供指导思路。 首先,我们应...

    10以内加减法看图写算式练习题2套.doc

    10以内的减法则是从一个数中去掉另一个数,得到差的运算。例如,8-3=5,9-6=3。减号"-"代表着“拿走”或者“剩余”的概念。在看图写算式的过程中,学生可能看到一张图上有8个人,然后有3个人离开了,剩下的就是5个人...

    2020年秋一年级数学上册第二单元10以内数的认识和加减法二2.26~10各数的组成同步练习西师大版20210609115

    例如,理解“3 + 4 = 7”意味着三个物体加上四个物体等于七个物体,而“7 - 4 = 3”则表示从七个物体中拿走四个物体剩下三个物体。 四、同步练习与答案 同步练习是巩固学习效果的重要手段,它能帮助孩子们将理论...

    2020年秋一年级数学上册第二单元10以内数的认识和加减法二2.667的减法同步练习西师大版20210609119

    总之,10以内数的认识和加减法是数学学习的基础,而2.667的减法同步练习则是对这一基础的拓展和深化。通过这样的练习,学生不仅能巩固基础知识,还能提前接触和适应稍后将要学习的小数概念,为后续的数学学习打下...

    二年级数学下册四认识万以内的数1认识千以内的数课件苏教版20200306448

    例如,如果百位是1,则十位是2,个位是0,但三个数位之和超过了10,所以百位不能是1。接着尝试百位为2,十位为3,个位为1,满足条件。因此,这个三位数可能是124或235。 接下来,【对点训练】第三题考察了数的组合...

    二年级数学下册第十单元总复习混合运算万以内数的认识作业课件新人教版

    依据四则运算的规则,乘除法应该在加减法之前执行。但当表达式中出现括号时,无论括号内是加减还是乘除,括号内的运算都应优先处理。这个规则的掌握,是学生能够正确解答混合运算问题的基础。 而对万以内数的认识,...

    一年级数学下册 第四单元 100以内数的认识4教案 人教新课标版.doc

    总之,《100以内数的认识4》的教学目标不仅仅是让学生学会如何读写100以内的数,更重要的是通过这些活动培养他们的数感,提升他们对数学的直观感知和基本运算能力。通过这些教学活动,学生将能够在实际生活中更加...

    一年级数学上册 8 10以内的加法和减法知识清单素材 苏教版.docx

    ### 一年级数学上册第八单元:10以内的加法和减法知识清单 #### 一、基础知识概览 在一年级数学的学习过程中,理解和掌握10以内的加法与减法是非常重要的基础技能之一。本章节主要围绕10以内的加减法进行深入讲解...

Global site tag (gtag.js) - Google Analytics