js中鸡兔同笼问题 头共24个,足共72只,求鸡与兔各有多少

JavaScript07

js中鸡兔同笼问题 头共24个,足共72只,求鸡与兔各有多少,第1张

方法1、   .....【假设法】

假设都是兔

鸡=(4×24-72)÷(4-2)

   =24÷2

   =12(只)

兔=24-12=12(只)

方法2、.....【砍脚法】

兔=72÷2-24

   =36=24

  =12(只)

鸡=24-12=12(只)

就是个二元一次方程嘛,20年没碰的东西,很生疏但大概是这么推, j是鸡、t是兔:

j + t = 1200

2j + 4t = 2800

2800 - 1200 = 2j + 4t - (j + t)

1600 = 2j + 4t - j - t

1600 = j + 3t

j + 3t - (j + t) = 1600 -1200

j + 3t - j - t = 400

2t = 400

t=200

1200 - 200 = j

j = 1000

然后 js 代码:

//条件A:鸡 + 兔 = 1200

//条件B:鸡*2 + 兔*4 = 2800

window.onload = function () {

//鸡兔都从0开始不断循环并加1,一直加到同时满足条件A、B时即为正确的值

//这个 j<2800 和 t<2800 累加的问题我也没办法解决

//js我也是半罐水,只能写个循环并给个2800这样比较大数再去暴力算解,肯定有更好的办法

for (var j = 0j <2800j++) {

for (var t = 0t <2800t++) {

if ( j + t == 1200 &&2*j+4*t==2800) {//同时满足条件A、B时即为正确的值

alert("鸡="+j+"只、"+"兔="+t+"只"+"\n"+"鸡腿="+j*2+"、兔腿="+t*4)

}

}

}

}

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>

    <script type="text/javascript">

        function Fibonacci() {

            var month = prompt("几月?:", "")

            var f1 = 1, f2 = 1, f3 // 初始时f1=1代表第1个月,f2=1代表第2个月,f3代表第3个月

            for (var i = 1 i <parseInt(month) i++) {

                f3 = f1 + f2 // 抽象公式为:第n个月=第n-2个月+第n-1个月

                f1 = f2      // f1变成f2

                f2 = f3      // f2变f3

            }

            window.alert(f3)

        }

    </script>

</head>

<body>

   <input type="button" value="求兔子数量" onclick="Fibonacci()"/>

</body>

</html>