首页 > 文章列表 > java中斐波那契数列怎么实现

java中斐波那契数列怎么实现

java
205 2023-04-25

  斐波那契数列指的是:数列的后项等于前两项的和,代码中我们用a[i]=a[i-1]+a[i-2]实现。

  典型兔子生小兔问题

  古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对,假设每对小兔子都不死,编程实现求每个月兔子对数。

  代码示例:

  核心代码,斐波那契数列(后项等于前两项的和):

  publicstaticvoidgetTuTu(int[]tutu,intn){

  if(n==1){

  System.out.println("第一个月兔子对数为1");

  }elseif(n==2){

  System.out.println("第二个月兔子对数为1");

  }else{

  tutu[0]=1;

  tutu[1]=1;

  System.out.println("第1个月兔子对数为1");

  System.out.println("第2个月兔子对数为1");

  for(inti=2;i<n;i++){

  tutu[i]=tutu[i-1]+tutu[i-2];//数组记录兔子对数

  System.out.println("第"+(i+1)+"个月的兔子对数为"+tutu[i]);

  }

  }

  }

  完整代码:

  packageday191125;

  importjava.util.Scanner;

  publicclassTuZi{

  publicstaticvoidmain(String[]args){

  Scannerinput=newScanner(System.in);

  while(true){

  System.out.println("=========");

  System.out.println("输入求第几个月的兔子:");

  intn=input.nextInt();

  if(n<=0){

  System.out.println("输入错误重新输入");

  continue;

  }

  int[]tutu=newint[n];

  getTuTu(tutu,n);

  }

  }

  publicstaticvoidgetTuTu(int[]tutu,intn){

  if(n==1){

  System.out.println("第一个月兔子对数为1");

  }elseif(n==2){

  System.out.println("第二个月兔子对数为1");

  }else{

  tutu[0]=1;

  tutu[1]=1;

  System.out.println("第1个月兔子对数为1");

  System.out.println("第2个月兔子对数为1");

  for(inti=2;i<n;i++){

  tutu[i]=tutu[i-1]+tutu[i-2];

  System.out.println("第"+(i+1)+"个月的兔子对数为"+tutu[i]);

  }

  }

  }

  }