思路:斐波那契数列属于非常经典的递归问题,但也可以用循环做。
/**
* @author Tom Qian
* @email tomqianmaple@outlook.com
* @github https://github.com/bluemapleman
* @date 2017年8月10日
*/
//大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
// n<=39
public class 斐波那契数列
{
//递归
public static int Fibonacci(int n){
if(n<=0)
return 0;
if(n==1 || n==2)
return 1;
return Fibonacci(n-1)+Fibonacci(n-2);
}
//循环
public static int iteFibonacci(int n){
if(n<1){
return 0;
}
if(n<3){
return 1;
}
int count=0;
int count1=1;
int count2=1;
for(int i=3;i<=n;i++){
count=count1+count2;
count1=count2;
count2=count;
}
return count;
}
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
System.out.println(iteFibonacci(4));
}
}