一个农夫养了一头牛,三年后,这头牛每年会生出1头牛,生出来的牛三年后,又可以每年生出一头牛……问农夫10年后有多少头牛?n年呢?
这里主要谈一下解决这种问题的思想。首先可以联系斐波那契数列,设f(n)为第n年的牛,则
f(n) = f(n - 1) + f(n - 2)————>表达式1-1
即第n年的牛为去年牛的个数f(n - 1)加上今年出生牛的个数,那么今年有多少头牛能生呢?(不考虑死亡的牛)则为前年牛的个数即f(n - 2),因为前年的牛今年至少3岁,即为表达式1-1。
推广一下,将牛生育年龄设为m,那么计算的表达式就变为
f(n) = f(n - 1) + f(n - m + 1)————>表达式1-2
即n-1年牛的个数加上n-m+1年的牛生出的小牛。
那么下面讨论一个稍微复杂点的问题,如果增加一个条件,即牛会在第8年死去,那么第n年会有多少条牛呢?
为了便于推导,这里先设几个函数:
· f(n)即第n年牛的个数
· h(n)即第n年出生的牛的个数
· g(n)即第n年死亡的牛的个数
那么这里可以首先想到一个表达式:
(1)f(n) = f(n -1) + h(n) - g(n)
即第n年牛的个数为第n-1年牛的个数+第n年出生的牛的个数-第n年死亡的牛的个数
而第二个表达式即关于新增牛的个数h(n)的:
(2)h(n) = f(n - 2) - g(n - 1)
即第n年出生的牛的个数为第n-2年牛的个数减去在第n-1年死亡的牛的个数
再看第三个表达式关于第n年死亡的牛的个数的:
(3)g(n)=h(n - 7)
即第n年死亡的牛的个数为第n - 7年出生的牛的个数,这是一个对称的关系。
推导的步骤如下,将(2)代入(1)
即f(n) = f(n - 1) + f(n - 2)- g(n - 1) - g(n)---->(4)
再将(3)式代入(4)
即f(n) = f(n - 1) + f(n - 2) - h(n - 8) - h(n - 7)----->(5)
再将(2)式代入(5)的h(n - 7)
即f(n) = f(n - 1) + f(n - 2) - (h(n - 8) - f(n - 9) + g(n - 8))
到了这里不难看出(h(n - 8) + f(n - 9) - g(n - 8))即为f(n - 8)通过式(1)。
则最终的表达式为
f(n) = f(n - 1) + f(n - 2) - f(n - 8)
即第n年牛的个数为第n-1年牛的个数+第n-2年牛的个数-第n-8年牛的个数
当牛的生育年龄用a表示,死亡年龄用b表示时,则表示为:
f(n) = f(n - 1) + f(n – a + 1) - f(n - b)
源码如下:
//f(n)=f(n-1)+f(n-a+1)-f(n-b)
int a=3;
int b=8;
int cowCount(int n)
{
if(n<=0) return 1;
else if(n==1) return 2;
else return cowCount(n-1)+cowCount(n-a+1)-cowCount(n-b);
}
分享到:
相关推荐
4. **实际问题的解决**:乐乐喝牛奶的问题要求学生分析实际情况,如第一次喝了半杯,第二次又喝了半杯,但第二次喝的是含有牛奶和水的混合物。这里的关键是理解“半杯”在不同情境下的含义,以及如何通过数学模型来...
"牛吃草问题"是一种经典的数学问题,通常出现在小学高年级至初中低年级的数学教材中,它涉及到了数量变化和动态平衡的概念。这类问题的关键在于理解草的生长和牛的消耗之间的关系,并通过建立数学模型来解决问题。 ...
7. **数量关系的分析**:在饲料加工的问题中,涉及到第一天和第二天加工饲料的量,以及它们之间的关系。这是一个简单的数量关系问题,可以通过列方程或直接相加来解决。 总结来说,这些课件中的知识点主要包括分数...
这样,我们就可以算出原有的草量,进而解决给定牛头数时草可以吃多久的问题。 例2是一个变型的牛吃草问题,这里将草地换成了一个进水管和出水管的水池。水的流入和流出类似于草的生长和被吃掉。通过计算不同组合下...
牛牛数据处理器应提供功能强大的数据清洗工具,帮助用户快速识别并修正这些问题。 3. **数据转换**:数据转换包括数据类型转换、单位转换、编码转换等,确保数据的一致性和可用性。 4. **数据分析**:内置统计分析...
【牛吃草问题】是数学中的经典应用题型,主要涉及的是动态平衡和比例关系的分析。这类问题通常设定有某种资源(如草)在被消耗的同时也在不断补充,求解的是在特定条件下资源能够持续多久。以下是针对题目中给出的牛...
练习题1-9都是牛吃草问题的变体,要求通过分析不同条件下牛头数和吃的天数,找到草的生长速度和原有草量,然后计算出新的牛头数下可以吃草的天数。通过解决这些题目,可以加深对牛吃草问题的理解和应用。 总的来说...
总结来说,盈亏问题和牛吃草问题都是利用差值关系来求解未知数的典型应用,它们要求我们具备较强的观察力、逻辑推理能力和数量关系分析能力。解决这类问题时,关键在于识别和利用数量之间的差异,找到关键的等量关系...
通过以上分析,我们可以看出牛吃草问题的解题策略是找到动态平衡点,通过设置合适的变量构建方程组,然后求解。这种问题类型锻炼了解决问题的逻辑思维能力和对数量关系的理解。无论是基础的还是复杂变形的牛吃草问题...
在现代,分牛问题常被用作启发式教学的例子,用来教授学生如何通过设立变量和方程来解决实际问题,以及如何运用逻辑思维来分析问题的结构。 如果我们尝试把您提供的内容看作是一组数字编码,那么我们可能会猜测其...
在这个问题中,我们需要理解如何有效地解决奶牛分配的问题,并分析提供的测试用例。 首先,"奶牛分配"可能涉及到的是一个优化问题,比如如何在有限的资源(如牛棚或牧草)下,合理地安排奶牛的位置,使得每个奶牛都...
3. 分析21头牛的情况:72 ÷ (21 - 15) = 72 ÷ 6 = 12天 所以,21头牛可以在12天内吃完草。 除了牛吃草问题,这类问题还可以扩展到其他场景,如排队购票、大坝泄洪、抽水机抽水等。无论形式如何变化,核心都是找...
牛能咬牙撑过创业维艰的时期,却在事业遇到突破性的瓶颈问题时,会闹情绪。情绪化是牛的大敌。 金牛座的人对家庭的看法与想像是一致的。有好食物、好家具、好孩子以及一条好狗或好猫,才像个家。而如果金牛座结婚的...
然而,老虎证券在下载量和用户活跃度方面表现出色,开户用户数与富途牛牛相当,且人均交易额和换手率更高。 2.3 产品迭代史 2.3.1 富途牛牛 富途牛牛自2013年起,从港股市场拓展至美股市场,逐步完善基础功能,如...
"牛吃草"问题,又称为“牛顿问题”,是一种经典的数学问题,源自英国科学家艾萨克·牛顿提出的思考题。这个问题的核心在于处理变化中的静态平衡,即在某些资源(如草)随时间变化(如生长)的情况下,计算固定数量的...
VL7 求两个数的差值 VL8 使用generate…for语句简化代码 VL9 使用子模块实现三输入数的大小比较 VL10 使用函数实现数据大小端转换 02 组合逻辑 VL11 4位数值比较器电路 VL12 4bit超前进位加法器电路 VL13 优先编码器...
《头豹研究院-2024年中国儿童牛奶市场洞察:成长的力量,解析中国儿童牛奶消费趋势》报告深入分析了中国儿童牛奶市场的现状和发展趋势,旨在为行业内外提供最新的市场动态和前瞻性的预测。 #### 市场规模与发展趋势...
本程序是使用牛拉法(Newton-Raphson method)来计算潮流的 Matlab 程序,主要用于电力系统的潮流计算和分析。该程序可以计算电力系统中的节点电压、支路潮流、发电机功率、负荷功率等参数,并可以对电力系统进行...
总的来说,解决牛吃草问题的关键是抓住静态量(如原有的草量或扶梯的总台阶数)和动态量(如新长出的草量或扶梯的运行速度),并通过数学方法进行计算。这类问题培养了我们对变化中的定量关系的理解和处理能力,对于...