古典兔子问题

package com.mumu.ready;

import java.util.Scanner;

public class Rabbit {
//题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
// 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
public static void main(String[] args) {
Scanner can =new Scanner(System.in);
System.out.println("请输入月份:");
int month=can.nextInt();
while(month<1){//这里若是if判断则只会判断一次,不会判断再一次的输入
System.out.println("请输入正确的月份:");//正确月份是指大于0的正整数
month=can.nextInt();
}
System.out.println("这个月的兔子总数是:"+f(month));
}
public static int f(int m) {
if(m<3) return 1;
else return f(m-1)+f(m-2);
}
}

古典兔子问题,布布扣,bubuko.com

时间: 2024-11-13 07:07:21

古典兔子问题的相关文章

C语言基础:递归函数,全局(局)变量

#include <stdio.h>int factorial(int a); int Fibonacci(a);long Hanoi(a); void main(){ } 函数递归调用:函数本身调用自身.类似于循环. 注意:编写递归程序类似于循环语句需要注意条件,函数调用到什么时候为止,否则会出现死循环. 1.利用递归实现阶乘 int factorial(int a){ if(a==1) { return 1; } else { return a*factorial(a-1);//递归调用

C语言经典题10道之古典问题: 兔子生兔问题

//2.古典问题: 有一对兔子, 从出生后第三个月起每个月都生一对兔子, 小兔子长到第三个月后每个月又生一对兔子, 假如兔子都不死, 每个月的兔子总数为多少? //根据题找到规律 1对, 1对, 2对, 3, 5, 8, 13, 21......可以发现从第三个月起 后一个月是前两个月兔子总数的和. int m[23]; int i; m[0]=m[1]=1; for (i=0; i<24; i++) { if (i==0 || i==1) { printf("第%d个月月兔子数量为:1对

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(python语言)

# 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? # 斐波那契数列:0,1,1,2,3,5,8,13,21(后面一个数是前面两个数的和) # 第1个月 2(1) # 第2个月 2(2) # 第3个月 2(3)+ 2(1) # 第4个月 2(3)+ 2(2) + 2(1) # 第5个月 2(3)+ 2(3) + 2(2) + 2(1) + 2(1) # 第6个月 2(3)+ 2(3) + 2(3) +

4.古典问题:有一对兔子(斐波那契数列)

题目: /** * 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子, * 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个 * 月的兔子总数为多少? * */ 解析: /** * 1.这是一个斐波那契数列,第三个数等于前两个数之和 * 2.定义变量,第一个数,第二个数,第三个数,都会随着月数的变化而变化 * 总而言之就是动态的 * 第一,第二,第三都是相对的 */ public class Programmer1 { public static void main

古典问题:关于兔子的生命周期。

面试题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少? package com.collection; import java.util.Arrays; public class RecursiveDemo { public static void main(String[] args) { /** * 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 *对兔子,假如兔子都不

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

这是斐波那契数列,规律是:从第三个数开始,每个数都是前两个数的合. 是的,最简单的方法就是递归, package com.mh.basic.one; public class Recursion { public static int f(int i){ if( i == 1 || i == 2 ){ return 1; } else{ return f(i-1) + f(i-2); } } public static void main(String[] args) { System.out.

古典问题-兔子生兔子

问题描述: 有一兔子,从出生后第3个月起每个月都生一兔子, 小兔子长到第三个月后每个月又生一对兔子 ,假如兔子都不死,问每个月的兔子总数为多少? 问题分析: 月份 兔子数 分析 1 1 f(1)=1 2 1 f(2)=1 3 1+1 f(3)=2 4 1+1  +1 f(4)=3 5 1+1+1  +1+1 f(5)=5 6 1+1+1+1+1 +1+1+1 f(6)=8 7 1+1+1+1+1+1+1+1  1+1+1+1+1 f(7)=13 .... .... ... 总结 1,1,2,3,

兔子古典问题

兔子数量【转载】

package 兔子数量; /** * 兔子问题 * 斐波那契数列求值 *题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子, *小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? *1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... */ public class rabbit { public static final int MONTH = 15; public static void main(String[] arg