36.class Rabbits2 {
37. public static void main(String[] args) {
38. int month = 10;
39. System.out.println("第" + month + "个月的兔子数是: " + getNumOfRabbits(month));
40. }
41. public static int getNumOfRabbits(int month) {
42. //要计算第n个月的兔子数,就需要一个长度为n的数组
43. int[] numOfRabbits = new int[month];
44.
45. //第一个月和第二个月的兔子数是固定的
46. numOfRabbits[0] = 1;
47. numOfRabbits[1] = 1;
48.
49. //高能开始
50. //现在开始计算第 三个月 到第 month 个月的兔子数
51. //因为数组索引是从0开始的,所以m的初始值是 3 - 1
52. for (int m = 2; m < month; ++m) {
53. //第m个月的兔子数等于 m-1 个月加上 m-2 个月的兔子数
54. numOfRabbits[m] = numOfRabbits[m - 2] + numOfRabbits[m - 1];
55. }
56.
57. //打印第 1 个月到第 month 个月的兔子数
58. System.out.println("每个月的兔子数:");
59. for (int i = 0; i < numOfRabbits.length; ++i) {
60. System.out.print(numOfRabbits[i] + "\t");
61. }
62.
63. //数组的最后一项就是第month个月的兔子数
64. return numOfRabbits[numOfRabbits.length - 1];
65. }
66.}
|
|