http://www.perlmonks.org?node_id=490275

in reply to Fibonacci numbers (again)

Updated In 28 chars
```

{print\$}+=\$.||1,\$.+=\$};redo}

Replies are listed 'Best First'.
Re^2: Fibonacci numbers (again)
by sh1tn (Priest) on Sep 08, 2005 at 19:35 UTC
```1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 ...

i.e.:
perl -e '\$.++;print\$}+=\$.,q| |,\$.+=\$},q| |while+1'|more

Which part are you criticizing? I thought fibo numbers where 1,1,2,3,5,8 which would make his correct. Just asking for clarification if there was some other difference i missed.

His outputs 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597 for me.

Update: /me does some googling and finds both of those and 0,1,1,2,3 as pretty evenly distributed....hmm.

___________
Eric Hodges

It's all just convention, but I opt for 0,1,1,2,3,5,..., and I have a reason.

If you define F_0 = 0, F_1 = 1, than the nice equation gcd(F_n, F_k) = F_{gcd(n,k)} is true, and as a special case F_k divides F_n iff k divides n. This nice equation would be much more ugly if F_0 != 0.

Update: in case anyone's interested, any integer sequence defined by a second order homogenous linear recursion and starting element 0 has this property. That is, if s_0 = 0, s_1 is and integer, and s_{k+2} = A s_{k+1} + B s_k for given A, B integers; then gcd(s_n, s_k) = s_{gcd(n,k)}.

Update 2006 nov 4: the above paragraph is false. Sorry.

This was not the case before the update of cristian while the code length was 27 chars.