社区
C#
帖子详情
重谈奶牛的问题
zh520
2009-04-17 09:27:07
一头奶牛从出生后的第四年开始生育小牛,以后每年生育一头.
给你一头刚出生的小奶牛,20年后共有多少头奶牛!!
在网上看到这个问题,希望大家帮忙解决一下
...全文
159
17
打赏
收藏
重谈奶牛的问题
一头奶牛从出生后的第四年开始生育小牛,以后每年生育一头. 给你一头刚出生的小奶牛,20年后共有多少头奶牛!! 在网上看到这个问题,希望大家帮忙解决一下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zh520
2009-04-20
打赏
举报
回复
期待高手解答
wangzhe1945
2009-04-18
打赏
举报
回复
[Quote=引用 5 楼 wuyi8808 的回复:]
扩展的斐波拿契数列。
[/Quote]
斐波那契数列又因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。
斐波那契数列
一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔都不死,那么一年以后可以繁殖多少对兔子?
我们不妨拿新出生的一对小兔子分析一下:
第一个月小兔子没有繁殖能力,所以还是一对;
两个月后,生下一对小兔民数共有两对;
三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对;
------
依次类推可以列出下表:
经过月数:---0---1---2---3---4---5---6---7---8---9--10--11--12
兔子对数:---1---1---2---3---5---8--13--21--34--55--89-144-233
表中数字1,1,2,3,5,8---构成了一个数列。这个数列有关十分明显的特点,那是:前面相邻两项之和,构成了后一项。
这个特点的证明:每月的大兔子数为上月的兔子数,每月的小兔子数为上月的大兔子数,即上上月的兔子数,相加。
这个数列是意大利中世纪数学家斐波那契在<算盘全书>中提出的,这个级数的通项公式,除了具有a(n+2)=an+a(n+1)/的性质外,还可以证明通项公式为:an=1/√[(1+√5/2) n-(1-√5/2) n](n=1,2,3.....)
上面这个题目跟这个差不多。
Harvey_He
2009-04-17
打赏
举报
回复
zh520
2009-04-17
打赏
举报
回复
这个问题网上一直没个结果,期望高手解答
辰爸
2009-04-17
打赏
举报
回复
[Quote=引用 4 楼 tianshikuqi8 的回复:]
int m = 0;
int x=n/4; /n为规定的年数,此题n为20
for(int i=1;i <=x;i++)
{
for (int j = 1; j <= i;j++ )
{
m++;
}
Console.Write('\n');
}
Console.Write(m); /m为所产奶牛的数量!!
Consol…
[/Quote]
错了,没有看清题目!~
ViewStates
2009-04-17
打赏
举报
回复
牛死么?
牛B死么!
vrhero
2009-04-17
打赏
举报
回复
很久以前就讨论过...自己搜索一下...
但是这个题目描述很有问题...你必须声明生下的都是母牛而且不考虑没有公牛也能生育...否则无答案...
human_2
2009-04-17
打赏
举报
回复
呵呵,最笨的方法算出来跟上面的公式不一样哦345
wangzhe1945
2009-04-17
打赏
举报
回复
我的数学学得不好, 但擅长模拟:
using System;
using System.Collections.Generic;
using System.Text;
namespace Cow
{
class Program
{
static void Main(string[] args)
{
List<Cow> list = new List<Cow>();
list.Add(new Cow()); //第一年只有一只牛
Farm farm = new Farm(list);
farm.BreedXYear(20); //20年的养殖
int count = farm.CowCount;
Console.WriteLine(count.ToString());
Console.ReadLine();
}
}
public class Cow
{
/// <summary>
/// 年龄
/// </summary>
protected int m_age;
public Cow()
{
m_age=0;
}
/// <summary>
/// 生长
/// </summary>
public void Growth(out Cow smallcow)
{
m_age++;
smallcow = BirthCow();
}
public int Age
{
get
{
return m_age;
}
}
/// <summary>
/// 生小牛
/// </summary>
/// <returns></returns>
protected Cow BirthCow()
{
if (m_age > 3)
{
Cow cow = new Cow();
return cow;
}
else
{
return null;
}
}
}
//农场
public class Farm
{
private List<Cow> m_cowList;
public Farm(List<Cow> cowList)
{
this.m_cowList = cowList;
}
/// <summary>
/// 一年农场的养殖
/// </summary>
public void BreedOneYear()
{
List<Cow> smallCowList=new List<Cow>();
foreach (Cow item in m_cowList)
{
Cow smallcow;
item.Growth(out smallcow);
if (smallcow != null)
{
smallCowList.Add(smallcow); //小牛加入小牛队伍
}
}
m_cowList.AddRange(smallCowList); //将小牛队伍加入大家庭队伍
}
public void BreedXYear(int Xyears)
{
for (int i = 0; i < Xyears; i++)
{
BreedOneYear();
}
}
/// <summary>
/// 返回牛的总数目
/// </summary>
/// <returns></returns>
public int CowCount
{
get
{
return m_cowList.Count;
}
}
}
}
结果如下: 345
tabbycat
2009-04-17
打赏
举报
回复
1头吧,也有可能0头,还有可能是N头
因为1头奶牛是生不出奶牛的,所有是1头
如果连这头也死了,那就是0头
如果使用克隆技术的话,那是N头
wuyi8808
2009-04-17
打赏
举报
回复
扩展的斐波拿契数列。
辰爸
2009-04-17
打赏
举报
回复
int m = 0;
int x=n/4; /n为规定的年数,此题n为20
for(int i=1;i<=x;i++)
{
for (int j = 1; j <= i;j++ )
{
m++;
}
Console.Write('\n');
}
Console.Write(m); /m为所产奶牛的数量!!
Console.ReadLine();
sharp_future
2009-04-17
打赏
举报
回复
比较麻烦啊
刚出生的奶牛,那就要4年后,你有2头奶牛了,从剩下的16年开始算吧
英雄在线
2009-04-17
打赏
举报
回复
0.5*(n-3)*(n-3)-0.5*n
英雄在线
2009-04-17
打赏
举报
回复
这个很简单
开始有1头
n年后有0.5*(n-1)*(n-1)-0.5
你核对下
用微积分
hyfei0315
2009-04-17
打赏
举报
回复
母牛生的都是公牛
maplevssnow
2009-04-17
打赏
举报
回复
这个问题本身就存在着提出问题的惯性错误``就是说具体的东西没说明白 如果照你这样说折不考虑别的因素???人的想象是无限的`
借力计算机视觉及深度学习,纽卡斯尔大学开发实时、自动化
奶牛
跛行检测系统...
本文约2600字,建议阅读5分钟近期,纽卡斯尔大学联合费拉科学有限公司联合开发了一个针对多头
奶牛
的自动化、实时跛行检测系统。该系统能够按照跛行评分系统将
奶牛
进行分类,并且准确度高达 94%-100%。目前,该研究成果已发表在《Nature》上。因口蹄疫等疾病造成的
奶牛
跛行对畜牧业而言,已成为一个全球性话题。相关科普显示,它不仅会导致
奶牛
产奶量降低、繁殖效率下降,还会导致
奶牛
过早地被淘汰。国家动物健...
借力计算机视觉及深度学习,纽卡斯尔大学开发实时、自动化
奶牛
跛行检测系统
近期,纽卡斯尔大学联合费拉科学有限公司联合开发了一个针对多头
奶牛
的自动化、实时跛行检测系统。该系统能够按照跛行评分系统将
奶牛
进行分类,并且准确度高达 94%-100%。目前,该研究成果已发表在《Nature》上。
Vijos1055
奶牛
浴场(极大化思想求最大子矩形)
思路详见 王知昆《浅谈用极大化思想解决最大子矩形
问题
》 写得很详细(感谢~....) 因为不太会用递推,所以用了第一种方法,时间复杂度是O(n^2),n为枚举的点数,对付这题绰绰有余 思路也很简单(建议一定看原文) 先根据x排序 之后两重循环,枚举i后的每一个点j到i可以形成的矩形面积 怎么求这个矩形面积呢? 非常简单,miny,maxy,分别表示纵坐标的上下界 如果枚举的点...
[转载]浅谈数据库设计技巧
原文来源:http://blog.csdn.net/hedylin/archive/2007/04/03/1550088.aspx 说到数据库,我认为不能不先谈数据结构。1996年,在我初入大学学习计算机编程时,当, 里面记录的是该
奶牛
场的收支账目,程序员在将其整理、录入到电脑中时从中受到启发。当按照规定好的数据结构所采集到的数据量大到一定程度后,出于程序执行 效率的考虑,程序员将其...
浅谈数据库设计技巧
[转]浅谈数据库设计技巧(上)、(下)(搜藏) 引言:这是一篇躺在自己“收藏夹”里很久以前在网上看到的佳作,时不时会看一看,希望对你有所裨益。 浅谈数据库设计技巧(上) http://www.knowsky.com/4937.html 说到数据库,我认为不能不先谈数据结构。1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法。尽管现在的程序
C#
110,530
社区成员
642,572
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章