java入门级训练:斐波那契(Fobonacci):1,1,2,3,5,8,13,.... 功能:随机输出第n位数。

/********************************************
斐波那契(Fobonacci):1,1,2,3,5,8,13,....
功能:随机输出第n位数。
分析:F1=1,F2=1  Fn=Fn-1 + Fn-2(n>2) 
********************************************/
public class FibonacciTest {
public static void main(String[] args) 
{
System.out.println(algorithm1(6));
System.out.println(algorithm2(6));
}


public static int algorithm1(int n) { //方法1
int count = 1;
int Fn_1 = 1;
int Fn_2 = 1;
while(n > 2) {
Fn_2 = Fn_1;
Fn_1 = count;
count = Fn_1 + Fn_2;
n--;
}
return count;
}

public static int algorithm2(int n) { //方法2
if (n == 1 || n == 2)
return 1;
else
return algorithm2(n-1) + algorithm2(n-2);
}
}

你可能感兴趣的:(程序源代码)