java题目 统计每个月兔子的总数

有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?
 
本题有多组数据。
 
数据范围:每组输入满足 1 \le n \le 31 \1n31 

输入描述:

多行输入,一行输入一个int型整数表示第n个月

输出描述:

每一行输出对应的兔子总数

示例1

输入:
1
2
3
4
5
9
输出:
1
1
2
3
5
34

 

 

 

 1 import java.io.BufferedReader;
 2 import java.io.InputStreamReader;
 3 import java.io.IOException;
 4 
 5 public class Main {
 6     public static void main(String[] args) throws IOException {
 7         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 8         String line;
 9         while((line = br.readLine()) != null) {
10             int n = Integer.parseInt(line);
11             int mount1 = 1;  //1月兔子
12             int mount2 = 0;  //2月兔子
13             int mount3 =0;  //3月兔子
14             int add = 0;  //下个月将出生的兔子
15             for(int i = 2; i <= n; i++) {  //从2月开始计算,i表示第i个月
16                 mount3 = mount3 + mount2;
17                 mount2 = mount1;
18                 mount1 = add;
19                 add = mount2 + mount3;
20             }
21             System.out.println(mount1 + mount2 + mount3);
22         }
23     }
24 }

 

posted @ 2022-03-05 16:32  海漠  阅读(61)  评论(0编辑  收藏  举报