开始学习JAVA,基础知识恶补!
斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
以下是Java代码实现(递归与递推两种方式):
import java.util.Scanner;
public class Fibonacci { public static void main(String[] args) { System.out.println("请输入数字"); Scanner in = new Scanner(System.in); int n = in.nextInt();System.out.println("递归:第"+n+"个数是:"+fibonacci1(n));
System.out.println("递推:第"+n+"个数是:"+fibonacci2(n)); } // 递归实现方式 public static int fibonacci1(int n){ if(n<=0){ return 0; } else if(n<=2){ return 1; } else{ return(fibonacci1(n-1)+fibonacci1(n-2)); } } public static int fibonacci2(int n){ if(n<=0){ return 0; } else if(n<=2){ return 1; } else{ int temp=0,num1=1,num2=1; for(int i=3;i<=n;i++){ temp=num1+num2; num1=num2; num2=temp; } return temp; } } }欢迎交流!