Fibonacci

斐波那契数列的几种考法:

1. 打印斐波那契序列

0 1 1 2 3 5...

打印Fibonacci 数列,说实话我觉得Iterative 简单很多

int first = 0; int second =1; int third = 0; System.out.println(first + " "+ second);

for(int i=2;  i

 third = first + second;   first = second; second = third;  

print (third);


*Recursion way:

这个题第一眼看上去是一脸懵逼。大家都知道计算Nth Fibonaci 的recursion方法是:return fib(n-1)+fib(n-2). 自然就会想到 假设func fib具备print整个序列的能力print fib(n). 那我用fib(n-1)的时候岂不是又print了一次,fib(n-2)又print了一次。

解法:(感觉比较考直觉,我是不知道怎么说思维过程。。。)

把variable 定义在外部。

n1=0, n2=1, n3=0

static void printFibonacci(int count){

if(count>0){

n3 = n1 + n2;

n1 = n2;

n2 = n3;

System.out.print(" "+n3);

printFibonacci(count-1);

}



2. Find nth 斐波那契number, recursion + Iterative

这个就不多写了。。。很简单。。。


3.  prints out first 10 Fibonacci numbers which has a sum number bigger than 100000.

【其实感觉find first X number sum > n 也是一种题型】

你可能感兴趣的:(Fibonacci)