逻辑推理 - 农夫养牛问题

简介: 逻辑推理 - 农夫养牛问题

上周五晚上,在某群上看到下面这么道面试题目:


题目:


一个农夫,买了一头小牛,这头牛,成长到第四年开始,会每年生一头小牛,所生出来的小牛成长到第四年开始,也会每年生出一头小牛,请问 N 年之后,农夫共有多少头牛?


不考虑其他情况,比如死亡,逃跑等情况


思路


可以生育的牛称为大牛,未可生育的牛称为小牛


第 1 年:1头小牛


第 2 年:1头小牛


第 3 年:1头小牛


第 4 年:1头小牛,1头大牛 - 2头牛


第 5 年:2头小牛,1头大牛 - 3头牛


第 6 年:3头小牛,1头大牛 - 4头牛


第 7 年:4头小牛,2头大牛 - 6头牛


第 8 年:6头小牛,3头大牛 - 9头牛


...


实现


作为一个切图仔,我们使用javascript来实现下~


// 一个农夫,买了一头小牛,这头牛,成长到第四年开始,会每年生一头小牛,所生出来的小牛成长到第四年开始,也会每年生出一头小牛,请问 N 年之后,农夫共有多少头牛?
// 不考虑其他情况
class Cow {
  constructor() {
    this.age = 1
  }
  addAge() {
    this.age++
  }
  isCanBirth() {
    return this.age >= 4;
  }
}
function init(year) {
  let arr = [new Cow()];
  for(let i = 1; i <= year; i++) {
    for(let j = 0; j < arr.length; j ++) {
      let cow = arr[j];
      if(cow.isCanBirth()) {
        arr.push(new Cow())
      } else {
        cow.addAge()
      }
    }
    console.log(`第${i}年,有${arr.length}个牛`)
  }
}
init(10)
复制代码


上面程序运行结果如下:


"第1年,有1个牛"
"第2年,有1个牛"
"第3年,有1个牛"
"第4年,有2个牛"
"第5年,有3个牛"
"第6年,有4个牛"
"第7年,有6个牛"
"第8年,有9个牛"
"第9年,有13个牛"
"第10年,有19个牛"
复制代码


上面有啥不严谨的地方,希望您指出。



相关文章
|
6月前
情感理论模型
情感理论模型
270 0
|
2月前
|
机器学习/深度学习 搜索推荐 数据挖掘
深度学习之因果关系建模
基于深度学习的因果关系建模是一项旨在通过深度学习技术识别和理解数据之间因果关系的研究领域。因果关系建模不仅仅关注变量之间的相关性,还希望揭示导致某种结果的根本原因。
111 2
|
3月前
|
人工智能 测试技术
真相了!大模型解数学题和人类真不一样:死记硬背、知识欠缺明显,GPT-4o表现最佳
【8月更文挑战第15天】WE-MATH基准测试揭示大型多模态模型在解决视觉数学问题上的局限与潜力。研究涵盖6500题,分67概念5层次,评估指标包括知识与泛化不足等。GPT-4o表现最优,但仍存多步推理难题。研究提出知识概念增强策略以改善,为未来AI数学推理指明方向。论文见: https://arxiv.org/pdf/2407.01284
49 1
|
6月前
|
自然语言处理 算法 搜索推荐
用自然语言表示计算机算法
用自然语言表示计算机算法
101 1
|
机器学习/深度学习 自动驾驶 算法
可解释性机器学习:PDP带你揭开随机森林心脏病预测神秘面纱!
本文针对可解释性机器学习以及其在心脏病预测中的应用进行了介绍。首先强调了可解释性机器学习对于信任和使用模型的重要性,并提出了随机森林作为一种强大的模型。然后介绍了PDP方法,以揭示随机森林在心脏病预测中的可解释性。这些内容将有助于我们更好地理解和应用可解释性机器学习的方法。
516 0
|
机器学习/深度学习 人工智能 算法
因果AI如何发现因果
因果发现算法可以从数据中找到因果关系的线索。其中条件独立是众多算法找寻的关键证据。经典的因果发现算法分2类,一类是基于约束的算法,另一类是基于分数的算法。本文介绍了基于约束的算法中最经典的PC算法的算法思想,让大家能够直观理解算法是如何发现因果关系的,并给出了因果发现算法中的一些不足。
295 0
因果AI如何发现因果
|
监控 算法 API
一道有悖直觉的概率题
以前中学时代跟同学讨论概率,如果双方有分歧,就很难说服对方。即使有了一个结论,也无法确认到底是否正确。毕竟大多数时候,你不可能亲自去实验足够多的次数。
|
机器学习/深度学习 算法 数据挖掘
机器学习算法背后的数学原理
机器学习算法背后的数学原理
160 0
机器学习算法背后的数学原理
|
机器学习/深度学习 人工智能 算法
人工神经网络背后的数学原理!(下)
人工神经网络背后的数学原理!