From: Stefano Crocco Date: 2009-07-12T18:40:33+09:00 Subject: Re: Fibonacci numbers - newbie question. On Sunday 12 July 2009, salai wrote: > |Dear All, > | > |I have two Fibonacci method, and I got different result. > | > |What wrong in my code.? > | > |def fib(n) > | if n < 2 > | 1 > | else > | fib(n-2) + fib(n-1) > | end > |end > | > |puts fib(10) # ---> 89 > | > | > |def fib1(x) > | return x if x < 2 > | return fib1(x- 1) + fib1(x - 2) > |end > | > | > | > |puts fib1(10) # --> 55 > | > | > |regards, > |salai. In the first case, if the number is less than 2, you always return 1. In the second case, you return the number itself (that is, 1 if x is 1 and 0 if x is 0). Stefano