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

代码如下:

public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入需要查询的月份:");
		int month = scanner.nextInt();
		
		int [] arr = new int [month+1];
		arr[0] = 1;
		arr[1] = 1;
		System.out.println("第1个月的兔子有1对,总数是2");
		System.out.println("第2个月的兔子有1对,总数是2");
		
		for(int i =2;i<month;i++) {
			arr[i] = arr[i-1] + arr[i-2];
			System.out.println("第" + (i+1) + "个月的兔子有" + arr[i] + "对, 总数是" + arr[i]*2);
		}
	}

运行结果:

image

思路:就是需要理清3月后每个月兔子的对数,以此发现规律。
还可以使用递归的方法进行遍历输出也是一样的,这里给出核心代码
	//斐波那契兔子递归
	public static int  tu(int num) {
		if (num==1 || num ==2) {
			return 1;
		}else {
			return tu(num-1)+tu(num-2);
		}
	}
posted @ 2021-10-28 23:27  程序员hg  阅读(1098)  评论(0编辑  收藏  举报