每天一道JavaSE基础题(一、斐波拉契数列)

本文介绍了一种使用Java编程语言实现斐波拉契数列的方法,通过数组和递归两种方式计算兔子繁殖数量,展示了算法的具体实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                             **每天一道JavaSE基础题(一、斐波拉契数列)**

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

程序分析:(斐波拉契数列)兔子的规律为数列1,1,2,3,5,8,13,21,34…

程序代码:

public class T1 {
	public static void main(String[] args) {
		//数组方法
		shuzhu(); 
		//递归方法
		System.out.println("请输入你要求的月数:");
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		System.out.println("用递归方法求的当前月数的兔子数为:" + digui(a));  //a代表想要求的月数
	}
	//数组方法
	private static void shuzhu() {
		int[] arr = new int[8]; //创建的数组长度代表想要求的月数
		arr[0] = 1;
		arr[1] = 1;
		for (int i = 2; i < arr.length; i++) {
			arr[i] = arr[i-2] + arr[i-1];
		}
		System.out.println("用数组方法求的当前月数的兔子数为:"+arr[arr.length-1]);
	}
	//递归方法
	public static int digui(int a) {   //a代表想要求的月数
		if (a == 1 || a == 2) {
			return 1;
		}else if(a == 0){
			return 0;
		}else {
			return digui(a-1) + digui(a-2);
		}
	}
}

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值