假设到第24个月,示例代码如下:
public class woo {
public static void main(String args[]) {
System.out.println(fib(24))
}
private static int fib(int n) {
if (n == 1 || n == 2) {
return 1
} else {
return fib(n - 1) + fib(n - 2)
}
}
}
扩展资料:
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……。
在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。
参考资料:
百度百科:斐波那契数列
百度百科:递归函数
这是斐波那契数列的问题可以用递归,也可以用循环
递归:
public class Demo3 {
// 使用递归方法
private static int getFibo(int i) {
if (i == 1 || i == 2)
return 1
else
return getFibo(i - 1) + getFibo(i - 2)
}
public static void main(String[] args) {
System.out.println("斐波那契数列的前20项为:")
for (int j = 1j <= 20j++) {
System.out.print(getFibo(j) + "\t")
if (j % 5 == 0)
System.out.println()
}
}
}
循环:
public class Demo2 {
// 定义数组方法
public static void main(String[] args) {
int arr[] = new int[20]
arr[0] = arr[1] = 1
for (int i = 2i <arr.lengthi++) {
arr[i] = arr[i - 1] + arr[i - 2]
}
System.out.println("斐波那契数列的前20项如下所示:")
for (int i = 0i <arr.lengthi++) {
if (i % 5 == 0)
System.out.println()
System.out.print(arr[i] + "\t")
}
}
}
//import java.util.Scanner/**
* 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少对
* @author young
*
*/
public class TuZiTest {
public static void main(String[] args) {
// Scanner sc = new Scanner(System.in)
int[] tz = new int[24]
tz[0] = tz[1] = 1
int month = 0
while(month < 24){
if(month == 0 || month == 1){
}else {
tz[month] = tz[month - 1] + tz[month - 2]
if((month + 1) % 3 == 0){
System.out.println("第[ " + (month + 1) +" ]个月的兔子对数: " + tz[month])
}
}
month++
}
}
}