老鼠繁殖问题

开始有两只老鼠,每个月繁殖一对幼鼠,幼鼠三个月长大,即可繁殖,
问二十四个月后共有多少只老鼠(不考虑老鼠死亡、雌雄问题)?
package com.lovo.homework;

public class TestMouse {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

int old = 2,first = 0, second = 0, third = 0;

for(int i = 0; i < 24; i++){
old = old + third;
third = second;
second = first;
first = old;
}

System.out.println(old + first + second + third);
}

}

时间: 2024-10-12 19:27:51

老鼠繁殖问题的相关文章

c语言:1000瓶水,有一瓶是有毒的,现共有10只老鼠,怎么判断毒水?

问题:1000瓶水,其中有一瓶是有毒的,一只老鼠喝下毒水会一天之后死亡,现在共有10只老鼠,怎么判断哪一瓶水是毒水? 分析:2^10=1024,则可以考虑利用二进制求解 解:给1000瓶水依次标号1至1000,将10只老鼠从右向左排成一列,第一瓶水让右边第1只老鼠喝,第2瓶水让第2只老鼠喝,第3瓶水让第1,2只老鼠喝,则第4瓶水让第3只老鼠喝,......第1000瓶水依次让第4,6,7,8,9,10只老鼠喝,记死亡的老鼠为1,未死亡的老鼠为0,按照二进制表示数的方法求出这个数,就知道哪瓶是毒水

1267 老鼠的旅行

1267 老鼠的旅行 2012年CCC加拿大高中生信息学奥赛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description You are a mouse that lives in a cage in a large laboratory. 你是一只生活在笼子里的实验室老鼠. The laboratory is composed of one rectangular grid of square cages, with a total

UVa 1001 奶酪里的老鼠(Dijkstra或Floyd)

https://vjudge.net/problem/UVA-1001 题意:一个奶酪里有n个洞,老鼠在奶酪里的移动速度为10秒一个单位,但是在洞里可以瞬间移动.计算出老鼠从A点到达O点所需的最短时间. 思路:最短路问题. 我们可以把起点和终点也看成是两个洞,半径为0.这样每个洞就代表了一个点,对于两个洞而言,圆心距离大于两半径之和,此时它们之间的距离就为圆心距离-两半径之和,否则就为0. 我们在计算出任意两个洞之间的距离之后,就可以套用最短路代码来解题了.下面的代码我是用了Floyd算法. 1

猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒

程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒.(C#语言)要求:  1.要有联动性,老鼠和主人的行为是被动的.2.考虑可扩展性,猫的叫声可能引起其他联动效应. 要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法.    2. 对老鼠和主人进行抽象 1 public interface Observer 2 { 3 void Response(); //观察者的响应,如是老鼠见到猫的反映 4 } 5 public interface Subject 6 { 7 void

老鼠喝药问题的解法

今天又遇见一个有趣问题,有趣就会分享. 和往常一样,当然是我自认为这个题目有意思,有研究的价值.题目如下: “32瓶液体,1瓶有毒,老鼠喝了1小时死亡,用1小时确定至少30个瓶子无毒,至少需要多少老鼠.” 我的解法如下: 又是一个求最优解的问题.这个问题需要把一个老鼠能使用的信息用到极致,即能达到最优解.首先假设n个老鼠最多可以很明确地确定f(n)瓶液体中的那瓶毒药. 那么 1.对于这n个老鼠,每个老鼠各自喝一瓶液体,可以确定C(n,1)瓶液体中的唯一一瓶毒药. 2.在1所能确定的数目基础上,将

for循环——兔子繁殖问题

有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面.已知一对兔子每个月可以生一对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子.假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖成多少对?  分析:兔子的规律为数列,1,1,2,3,5,8,13,21 (用循环实现) System.out.println("第1个月兔子的对数: 1"); System.out.println("第2个月兔子的对数: 1"); int

UVA - 1001 Say Cheese(奶酪里的老鼠)(flod)

题意:无限大的奶酪里有n(0<=n<=100)个球形的洞.你的任务是帮助小老鼠A用最短的时间到达小老鼠O所在位置.奶酪里的移动速度为10秒一个单位,但是在洞里可以瞬间移动.洞和洞可以相交.输入n个球的位置和半径,以及A和O的坐标,求最短时间. 分析: 1.因为洞可以相交,所以在计算两点距离时要判断一下if(dist > num[i].r + num[j].r). 2.两球间的距离为球心间距离-两球半径,起点和终点不是球,可将半径设为0. #pragma comment(linker, &

【老鼠走迷宫二】

/* 老鼠走迷宫二 有问题 */ #include <stdio.h> #include <stdlib.h> void visit(int ,int); int maze[9][9] = { {2, 2, 2, 2, 2, 2, 2, 2, 2}, {2, 0, 0, 0, 0, 0, 0, 0, 2}, {2, 0, 2, 2, 0, 2, 2, 0, 2}, {2, 0, 2, 0, 0, 2, 0, 0, 2}, {2, 0, 2, 0, 2, 0, 2, 0, 2}, {

算法:老鼠走迷宫问题

算法:老鼠走迷宫问题(初) [写在前面] 老鼠走迷宫问题的递归实现,是对递归思想的一种应用. [问题描述] 给定一个二维数组,数组中2表示墙壁,0表示通路,由此数组可展示为一个迷宫图.给定入口位置和出口位置,判断之间是否存在通路并显示出走出迷宫的道路. [代码] 对题目的描述部分 int migo[7][7]={ {2, 2, 2, 2, 2, 2, 2}, {2, 0, 0, 0, 0, 0, 2}, {2, 0, 2, 0, 2, 0, 2}, {2, 0, 0, 0, 0, 2, 2},