fibonacci数列的两种实现方式

package com.anllin.test;

public class Fibonacci
{
public static void main(String[] args)
{
System.out.println(fibonacciWithRecursion(
30));
System.out.println(fibonacciWithNotRecursion(
30));
}

public static long fibonacciWithRecursion(int pos)
{
if (1 == pos || 2 == pos)
return 1;
else
return fibonacciWithRecursion(pos - 1) + fibonacciWithRecursion(pos - 2);
}

public static long fibonacciWithNotRecursion(int pos)
{
long f = 0L;
long f1 = 1;
long f2 = 1;

for(int i= 0; i<pos-2;i++)
{
f
= f1 + f2;
f1
= f2;
f2
= f;
}

return f;
}
}

  

posted @ 2011-08-09 14:01  水之原  阅读(253)  评论(0编辑  收藏  举报