Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: Fibonacci Generator

by ariels (Curate)
on Aug 12, 2001 at 13:16 UTC ( #104220=note: print w/replies, xml ) Need Help??

in reply to Fibonacci Generator

All you need in order to generate the next Fibonacci number is the last two; why are you storing all of them? (Also, why not use strict?)

Here's one way; I presented something similar in Fibonacci numbers with lvalues. I give this one as I think it presents an interesting reminder of how "parallel assignment" is useful.

The modification to use Math::BigInt would be easy but obfuscatory for this example.

my ($a,$b)=(1,2); # Start sequence at 1,2 like in code print "$a\n$b\n"; for(1..$n-2) { ($a,$b) = ($b,$a+$b); print "$b\n" }
Save memory, easier to read, etc.

Replies are listed 'Best First'.
Re: Re: Fibonacci Generator
by sifukurt (Hermit) on Aug 13, 2001 at 19:07 UTC
    The reason I was storing all of the number was that originally I thought that I might want to do things with them. Then I decided to scrap that idea and just go with a plain ol' generator. It was a remnant from a previous incarnation. With regard to strict, I always use it if I'm either writing a production script or a script that is going to be more than a few lines long. With something that is really short and isn't ever going to be in serious production use, I only use it about half the time.

    I'm posting the modified code as I type this.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://104220]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (5)
As of 2023-03-24 06:00 GMT
Find Nodes?
    Voting Booth?
    Which type of climate do you prefer to live in?

    Results (60 votes). Check out past polls.