java编程题50道(1)

java编程题50道(1)

程序1

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

题目思路:

先推出几个月内兔子数量 1 1 2 3 5 8 13.。。。

可推出规律为 n = n-1+n-2

定义函数累计兔子数量,再通过主函数输出

 

package test;

import java.util.Scanner;

public class hello {
    public static int rabbit(int i) {
    if(i==1||i==2) {//兔子数量在前两个月没有变化
    return 1;
    }
    else {
    return rabbit(i-1)+rabbit(i-2);//根据变化可知三个月后均为前两月相加
    }
    }


public static void main(String[] args) {
    Scanner in =new Scanner(System.in);
    int i =in.nextInt();
    int a;
    a=rabbit(i);
    System.out.print("输出月份求该月兔子数量h");
    System.out.print(i+"月共有"+a+"对兔子");
}

}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » java编程题50道(1)