js经典算法题,鸡兔同笼问题,鸡兔共35只,共94只脚,问鸡和兔子一共有多少只?(详细解答)

简介: js经典算法题,鸡兔同笼问题,鸡兔共35只,共94只脚,问鸡和兔子一共有多少只?(详细解答)

鸡兔同笼,有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>

得到结果:

希望对你有做帮助,谢谢观看  (⑉꒦ິ^꒦ິ⑉)

目录
相关文章
|
3月前
|
算法 JavaScript 前端开发
第一个算法项目 | JS实现并查集迷宫算法Demo学习
本文是关于使用JavaScript实现并查集迷宫算法的中国象棋demo的学习记录,包括项目运行方法、知识点梳理、代码赏析以及相关CSS样式表文件的介绍。
第一个算法项目 | JS实现并查集迷宫算法Demo学习
|
4月前
|
JavaScript 算法 前端开发
JS算法必备之String常用操作方法
这篇文章详细介绍了JavaScript中字符串的基本操作,包括创建字符串、访问特定字符、字符串的拼接、位置查找、大小写转换、模式匹配、以及字符串的迭代和格式化等方法。
JS算法必备之String常用操作方法
|
4月前
|
JavaScript 算法 前端开发
JS算法必备之Array常用操作方法
这篇文章详细介绍了JavaScript中数组的创建、检测、转换、排序、操作方法以及迭代方法等,提供了数组操作的全面指南。
JS算法必备之Array常用操作方法
|
4月前
|
存储 算法
读《趣学算法》:重开算法之门,神奇的兔子数列(斐波那契数列)
本文通过《趣学算法》中的斐波那契数列问题,探讨了算法的递归实现、时间复杂度分析,并展示了如何通过迭代和优化存储空间来改进算法,最终将时间复杂度从指数级降低到线性级,并将空间复杂度从线性级降低到常数级。
98 0
读《趣学算法》:重开算法之门,神奇的兔子数列(斐波那契数列)
|
4月前
|
算法 JavaScript 前端开发
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
345 1
|
4月前
|
JavaScript 算法 前端开发
"揭秘Vue.js的高效渲染秘诀:深度解析Diff算法如何让前端开发快人一步"
【8月更文挑战第20天】Vue.js是一款备受欢迎的前端框架,以其声明式的响应式数据绑定和组件化开发著称。在Vue中,Diff算法是核心之一,它高效计算虚拟DOM更新时所需的最小实际DOM变更,确保界面快速准确更新。算法通过比较新旧虚拟DOM树的同层级节点,递归检查子节点,并利用`key`属性优化列表更新。虽然存在局限性,如难以处理跨层级节点移动,但Diff算法仍是Vue高效更新机制的关键,帮助开发者构建高性能Web应用。
82 1
|
4月前
|
算法 JavaScript 前端开发
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
214 1
|
4月前
|
JavaScript 算法 前端开发
国标哈希算法基础:SHA1、SHA256、SHA512、MD5 和 HMAC,Python和JS实现、加盐、算法魔改
国标哈希算法基础:SHA1、SHA256、SHA512、MD5 和 HMAC,Python和JS实现、加盐、算法魔改
653 1
|
5月前
|
数据采集 算法 JavaScript
揭开JavaScript字符串搜索的秘密:indexOf、includes与KMP算法
JavaScript字符串搜索涵盖`indexOf`、`includes`及KMP算法。`indexOf`返回子字符串位置,`includes`检查是否包含子字符串。KMP是高效的搜索算法,尤其适合长模式匹配。示例展示了如何在数据采集(如网页爬虫)中使用这些方法,结合代理IP进行安全搜索。代码示例中,搜索百度新闻结果并检测是否含有特定字符串。学习这些技术能提升编程效率和性能。
142 1
揭开JavaScript字符串搜索的秘密:indexOf、includes与KMP算法
|
5月前
|
算法 JavaScript
JS 【详解】树的遍历(含深度优先遍历和广度优先遍历的算法实现)
JS 【详解】树的遍历(含深度优先遍历和广度优先遍历的算法实现)
84 0
JS 【详解】树的遍历(含深度优先遍历和广度优先遍历的算法实现)