码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA基本算法面试题:1斐波纳契数列

时间:2015-01-20 15:04:49      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

开始学习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;

}
}
}

欢迎交流!

 

JAVA基本算法面试题:1斐波纳契数列

标签:

原文地址:http://www.cnblogs.com/extraman/p/4235852.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!