古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
程序分析:兔子的规律为数列1,1,2,3,5,8,13,21…
public static void 第一题() {
int a = 1; //第一位为1,不参与计算,设第二位的1为int a,
int b = a + 1; //设第三位为int b,即a+1
int c = a + b; //后面的数即为前面两位数的和,则设c为a+b
for (; c < 1000; ) { //给数列设定范围,开始循环
c = a + b; //c的值为a+b
System.out.println(c); //输出c的值
a = b; //输出c的值之后给a和b重新赋值
b = c; //a和b的值重新确定后重新参与循环计算
}
}
数组:
public static void 第1题() { int[] arr = new int[input.nextInt()]; //设变量数组键入 arr[0] = 1; //初始第一个月的兔子数为1 arr[1] = 1; //初始第二个月的兔子数为1 for (int i = 2; i < arr.length; i++) { //设置从第三个月开始的兔子数为i,i小于数组长度,i递增 arr[i] = arr[i - 1] + arr[i - 2]; //根据条件,i的值为前两个i值的和,构成循环体 } for (int i = 0; i < arr.length; i++) { //遍历数组,从下标为0开始(不加此循环,用上个for循环加前两个值输出也可以) System.out.println("arr[" + i + "] = " + arr[i]); //输出语句 } }
输出:
8
arr[0] = 1
arr[1] = 1
arr[2] = 2
arr[3] = 3
arr[4] = 5
arr[5] = 8
arr[6] = 13
arr[7] = 21
标签:arr,数列,int,兔子,斐波,循环,数组,那契 From: https://www.cnblogs.com/Argitacos/p/17225645.html