鸡兔同笼,有35个头,94只脚,问一共多少只鸡,多少只兔?
(该题的前提条件为笼子是蒙起来的,只能看到 鸡脚 和兔脚,还请萌新不要钻牛角尖)
<script>
// 鸡兔同笼,有35个头,94只脚,问一共多少只鸡,多少只兔
</script>
分析:
<script>
// 鸡兔同笼,有35个头,94只脚,问一共多少只鸡,多少只兔
// 分析:都有1个头,总数为35;兔有4只脚,鸡有2只脚
// 假设我们只算兔子,我们可以得到:
console.log(94/4+"只兔子");
// 结果为23.5,在该题中不可能出现半只兔子所以不符合要求
// 假设我们只算鸡,我们可以得到:
console.log(94/2+"只鸡");
// 结果为47,超过了总数35,也不符合要求
</script>
得到的结果为:
(不符合条件)
所以在做这道题的时候要将鸡和兔子看作一个整体,鸡脚加兔脚一共94条,鸡头加兔头一共35个
我们可以将这两个条件联合起来,使用循环找出符合条件的组合
最终算法:
<script>
// 鸡兔同笼,有35个头,94只脚,问一共多少只鸡,多少只兔
// 分析:都有1个头,总数为35;兔有4只脚,鸡有2只脚
// 假设我们只算兔子,我们可以得到:
console.log(94/4+"只兔子");
// 结果为23.5,在该题中不可能出现半只兔子所以不符合要求
// 假设我们只算鸡,我们可以得到:
console.log(94/2+"只鸡");
// 结果为47,超过了总数35,也不符合要求
// 因为鸡和兔子加起来一共35只,鸡脚和兔脚一共94条,所以
// 设有两个变量,兔子i和鸡j,可以推出 i+j==35 && i*4+j*2==94
// 有了条件就可以利用for循环的"穷举法"来找到答案了
for (let i = 0; i < 35; i++) {
for (let j = 0; j < 35; j++) {
if (i + j == 35 && i * 4 + j * 2 == 94) {
console.log("兔有:"+i+"只");
console.log("鸡有:"+j+"只");
}
}
}
</script>
得到结果:
希望对你有做帮助,谢谢观看 (⑉꒦ິ^꒦ິ⑉)