兔子生孩子问题,斐波那契数列

先来看一下问题
//有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21…
很明显可以看出 an+2=an+an+1;
上才艺!!!

import java.util.Scanner;

public class demo3 {
    public static void main(String[] args) {
        //有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,
        // 假如兔子都不死,问每个月的兔子对数为多少?
        //程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
        //1+1=2 1+2=3
        //每个月兔子对数为n  月数为m an+2=an+an+1
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        //根据输入的月份,来判断兔子对数
        int n1=n+3;
//        n1=n+3是防止数组越界
        int []arr=new int[n1];
//进行初始化,给arr【0】arr【1】赋值
        arr[0]=1;
        arr[1]=1;
        for(int i=0;i<=n;i++)
        {
            //带入之前得到的规律
            arr[i+2]=arr[i]+arr[i+1];
            arr[n]=arr[i];
        }
        System.out.println("第"+n+"个月有"+arr[n+1]+"对");
	}
}

好啦,这就结束啦 如果有什么问题,欢迎大家交流

猜你喜欢

转载自blog.csdn.net/qq_41733238/article/details/107545549
今日推荐