标签:
开始学习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;
}
}
}
欢迎交流!
标签:
原文地址:http://www.cnblogs.com/extraman/p/4235852.html