WHVCSEOJ 1010.兔子产仔

描述
一般而言,兔子在出生2个月后就有繁殖能力,一对兔子每个月能生出一对小兔子来,如果所有兔子都不死,那么经过n个月总共有多少对兔子?
输入
输入由多组测试数据组成。第一行输入一个整数t,表示测试数据的组数。
接下来的t行,每行输入一个月份n。
输出
输出有t行,每行依次对应一个月份n的输出结果:经过n个月,每个月有多少对兔子。
示例输入
3
5
10
13
示例输出
1 1 2 3 5
1 1 2 3 5 8 13 21 34 55
1 1 2 3 5 8 13 21 34 55 89 144 233

import java.util.Scanner;
public class Main {
	/*
	 设1个月大的兔子为R1,2个月大的兔子为R2
	 第1个月	R1 1 R2 0 sum 1
	 第2个月	R1 0 R2 1 	1
	 第3个月	R1 1 R2 1 	2
	 第4个月	R1 1 R2 2   3
	 第5个月	R1 4 R2 1   5
	 * */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int arr[] = new int[n];
		for(int i = 0;i<arr.length;i++){
			arr[i]=sc.nextInt();
		}
		
		for(int i = 0;i<n;i++){
			//将兔子分类为1月大与2月大
			int R1=1;
			int R2=0;
			int temp;
			for(int k = 0;k<arr[i];k++){
				System.out.print(R1+R2+" "); //第k月的兔子总数
				temp = R2;	
				R2+=R1;		//1月大的兔子长大为2月大的兔子,R2增加了R1只
				R1=temp;	//2月大(及以上)的兔子生兔子,R1增加了R2只(2月后才能产子,不含刚长大的R1)
			}
			System.out.println();
		}
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值