美文网首页
用JS计算经典例题 :百元百鸡

用JS计算经典例题 :百元百鸡

作者: 绅士_0906 | 来源:发表于2019-07-26 21:18 被阅读0次

    我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

    在数学中,我们可以用方程式解答:
    设公鸡买x只,母鸡买y只,小鸡买z只(或100-x-y);
    那么 x+y+z=100;
    且 5 * x + 3 * y + 1/3 * z =100;

    通过简单的计算可以得知:
    x的取值范围为 0 < x <= 20;
    y的取值范围为 0 < y <= 33;
    z的取值范围为 0 < z < 100;

    接下来就要用for和if语句了;

    for(var x = 0;x <=20;x++){
            for(var y = 0;y <= 33;y++){
                for(var z = 0;z < 100;z++){
                    if(x + y + z == 100){
                        if(5*x + 3*y + 1/3*z == 100){
                            document.write(`公鸡${x},母鸡${y},小鸡${z}`)
                        }
                    }
                }
            }
            document.write('<br>')
        }
    

    这是我们得到的结果:


    {8700B1FB-3BD0-4386-A315-4CD426CE82F8}_20190726195048.jpg

    简单讲解一下:
    for语句是一种先判断,后运行的循环语句。
    以第一层for为例:
    var 是定义变量的关键字,如果没有它,就会定义全局变量。就好像我们的名字一样,用来区分每个人。
    x是我们设的购买公鸡的数量。在JS中他是一个标识符,可以理解为一个代号,当然也可以换成别的,但是:第一个字符必须是字母、下划线或一个美元符号$;
    x <=0 是给它划一个取值范围。要不然x不受拘束的话for就会无限循环下去。处理器不太好的童鞋小心电脑死机。
    x++ 是在本次循环结束后,下次循环开始前赋予x一个新的值。要不然一直重复同一个值,结果也一样,怪无聊的是吧。关键是同样会死机。

    三重for循环里面嵌套两个if语句,是因为要同时满足“一共买一百只鸡”和“一共一百块钱”这两个条件,所以。代码也可以这么写:

    for( var a = 0;a <= 20;a++){
            for( var b = 0; b <= 33;b++){
                for( var c = 0;c <= 100;c++){
                    if((a + b + c == 100) && (5*a + 3*b + c/3 ==100)){
                            document.write('公鸡' + a,'母鸡' + b,'小鸡' + c)
                    }
                }
            }   
            document.write('<br>')
        }
    

    结果是相同的。

    && 表示 “与” ,他是一个布尔操作符,类似的还有 || “或”,! “非”。
    意思就是,必须同时满足两个条件才会继续往下运行。

    document.writter() 用于将运算结果打印到网页上。切记:非字符串要加上引号--"公鸡",否则不会显示。后面的x没有加,是因为有 + 号。当字符串和非字符串中间有+号时,+号将执行拼接功能,将他们都转换成字符串。

    <br>
    

    换行标签。
    没有它是介个样子的:


    {8700B1FB-3BD0-4386-A315-4CD426CE82F8}_20190726195048.jpg

    【JS初学一周,如有误解,还请指出;如有雷同,不胜荣幸】

    相关文章

      网友评论

          本文标题:用JS计算经典例题 :百元百鸡

          本文链接:https://www.haomeiwen.com/subject/ebtjrctx.html