本文来自我的博客 https://blog.web-lab.ml/posts/2019/06/15/使用js解决鸡兔同笼.html
那天听完课,突发奇想:做个鸡兔同笼计算器.
先用假设法:
头x2=x (脚-x)÷2=兔子只数 头-兔子只数=鸡只数
试了一下,不行.
直接上代码,代码里有详细的注释,可以自行参考:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>鸡兔同笼</title>
</head>
<input type="number" id="head" placeholder="头"/>
<br/>
<input type="number" id="foot" placeholder="脚"/>
<br />
<input type="button" onclick="cr()" value="计算" />
<script>
//点击计算按钮调用的函数
function cr() {
//得到头数
var head = document.getElementById("head").value;
//得到腿数
var foot = document.getElementById("foot").value;
//设两个变量,鸡鸭都为0
var chicken_head = 0;
var rabbit_head = 0;
//for循环暴力破解
for (chicken_head = 0/*初始化鸡头为0*/; chicken_head <= head/*鸡头小于总头数*/; chicken_head++/*每次循环,鸡头加一*/) {
//for循环里只能放一个条件,把兔头放到这里
rabbit_head = head - chicken_head;
//如果符合条件,弹框提示
if (2 * chicken_head + 4 * rabbit_head == foot) {
alert("鸡有" + chicken_head + "只" + ","+"兔有" + rabbit_head + "只");
//退出循环
break;
}
//如果循环最后还没有找到,提示乱输
if(chicken_head=head&&rabbit_head==0){
//这里乱输提示
//if的结束括号
}
//for循环的结束括号
}
//function的结束括号
}
</script>
</html>