鸡兔同笼,有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>
得到结果:
希望对你有做帮助,谢谢观看 (⑉꒦ິ^꒦ິ⑉)