当前位置:宠物百科>综合>兔类>正文

垂耳兔的寿命分为哪几个阶段 小兔第三月起每月可生一兔

人气:442 ℃/2025-05-23 01:00:52

题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?

第一种解法:

问题分析:

第一个月是小兔子,是一对小兔子;

第二个月从小兔子变成大兔子,是一对大兔子;

第三个月大兔子生出小兔子加上本身的一对大兔子,是一对大兔子 一对小兔子 共2对兔子 1 1 = 2;

第四个月大兔子生出小兔子加上本身的一对大兔子,小兔子变成大兔子,是2对大兔子,一对小兔子,共3对兔子 2 1 = 3;

第五个月2对大兔子生出2对,小兔子长成大兔子,共5对兔子 2 3 = 5;可知每对兔子需要一个月长大,两个月才能生产;

由此可知 第三个月以后每个月的兔子对数等于前两个月的兔子对数相加。

public static void main(String[] args){ Scanner sc=new Scanner(System.in); System.out.println("请输入月份:"); int n = sc.nextInt();//可以自己设置第几个月的兔子总数 System.out.println("第" n "个月兔子总数为" fun(n)); } private static int fun(int n){ if(n==1 || n==2) return 1; else return fun(n-1) fun(n-2); }

第二种解法

问题分析:

问题剖析: 1 1 2 3 5 8 13 21 34 55 89 144(1-12个月兔子的对数),当第三个开始,数值为前两项之和

public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入月份:"); int[] mon = new int [sc.nextInt()];//自己设置月份 int len = mon.length;//获取数组的长度36 mon[0] = 1;//1月不生,有一对 mon[1] = 1;//2月不生,有一对 for(int i = 2; i<len;i ){//循环数组的长度,即月份 mon[i] = mon[i-1] mon[i-2];//从第2个月以后,第i个元素值等于前两项元素之和 } //System.out.println(Arrays.toString(mon));//遍历数组 System.out.println(mon.length "个月一共生了: " mon[mon.length-1] " 对兔子");//打印数组的最后一个值 }

第三种解法:

问题分析:

首先,当位数为1时返回值为1;位数为2时返回1;当位数为3时,其返回值为2;因为他们是起始值;

然后,当位数为4时,其返回值 = 3 = 2 1;

当位数为5时,其返回值 = 5 = 3 2;

当位数为6时,其返回值 = 8 = 5 3;

当位数为7时,其返回值 = 13 = 8 5;

当位数为8时,其返回值 = 21 = 13 8;

......

所以由以上可得,大于等于3的情况下,当前位数的值

f (n) = f(n-1) f(n-2)。

public static void main(String[] args) { System.out.println("请月份数:"); Scanner s = new Scanner(System.in); int n = s.nextInt(); System.out.println("第" n "个月一共有" f(n) "只兔子"); } public static int f(int n) { if(n!=1&&n!=2) { if(n!=3) { return f(n-1) f(n-2); } return 2; } else return 1; }

搜索更多有关“垂耳兔的寿命分为哪几个阶段 小兔第三月起每月可生一兔”的信息 [百度搜索] [SoGou搜索] [头条搜索] [360搜索]
CopyRight © 2021-2025 宠物百科 All Rights Reserved. 手机版