[Newbies] Re: Beginners Digest, Vol 18, Issue 2
Gregory Hinton
gregory.hinton at gmail.com
Thu Oct 4 04:41:40 UTC 2007
On Oct 3, 2007, at 7:31 AM, Michael Davies wrote:
> If you're
> interested in the numbers rather than the technique, there's a couple
> of alternative approaches to speed it up, iteration and matrix
> manipulation.
Actually, in the case of the Fibonacci sequence, the best way to
speed it up is to use the closed-form formula:
nthFibonacci
|phi1 phi2 term1 term2|
phi1 := (1 + 5 sqrt) / 2.
phi2 := (1 - 5 sqrt) / 2.
term1 := phi1 raisedTo: self.
term2 := phi2 raisedTo: self.
^((term1 - term2) / (5 sqrt)) rounded.
Sorry, I realize the OP requested a recursive solution, but I
couldn't resist. :)
More information about the Beginners
mailing list