请输入头数:<input type="text" id="head"/><br/><br/><br/>
请输入脚数:<input type="text" id="foot"/><br/><br/><br/>
<input type="submit" id="sub"/>
<p id="ji"></p>
<p id="tu"></p>
</body>
<script>
var input1=document.getElementById("head")
var input2=document.getElementById("foot")
var sub=document.getElementById("sub")
var ji=document.getElementById("ji")
var tu=document.getElementById("tu")
sub.onclick=function(){
var txt1=input1.value
var txt2=input2.value
for(var i=1i<txt1i++){
if(i*2+(txt1-i)*4==txt2){
ji.innerText="鸡有"+i+"只"
tu.innerText="兔有"+(txt1-i)+"只"
}
}
}
</script>
就是个二元一次方程嘛,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)
}
}
}
}
鸡兔同笼是中国古代著名趣题之一。大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。问笼中各有几只鸡和兔?算这个有个最简单的算法。(总脚数-兔的只数×总只数)÷(兔的脚数-鸡的脚数)=鸡的只数(94-35×2)÷2=12(兔子数) 总头数(35)-兔子数(12)=鸡数(23) 解释:让兔子和鸡同时抬起两只脚,这样笼子里的脚就减少了头数×2只,由于鸡只有2只脚,所以笼子里只剩下兔子的两只脚,再除以2就是兔子数。别说兔子和鸡不听话,现实中也没人鸡兔同笼。