Fibonacci Sequence - Printable Version +- HP Forums (https://archived.hpcalc.org/museumforum) +-- Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum-1.html) +--- Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum-2.html) +--- Thread: Fibonacci Sequence (/thread-158080.html) Fibonacci Sequence - Mike T. - 10-20-2009 OK, Following an interesting discussion earlier this evening I thought it might be fun to see just how few keystrokes you would need to calculate successive terms of the Fibonacci Sequence, preferably without using any storage registers... I doubt it I have the best solution but thought the answer I came up with demonstrated really nicely why I like my old RPN calculator so much and that it would be interesting so see what other people came up with. Start with a one in 'x' - all other registers zero. Mike T. Re: Fibonacci Sequence - Ken Shaw - 10-20-2009 I'm assuming this is a keystroke procedure only (not a program). In that case, I think it's just ```Enter Enter Roll Up + ``` Then repeat, ad infinitum. Edit: I failed to observe initially that there is no "roll up" key on most machines, including the 12C. I was surprised to realize that this also won't work on a 42S, where the keyboard up-arrow is actually BST. However, it does work on my daily calc, the 17BII, because the up-arrow key performs a RollUp. Unfortunately it is only a keystroke solution, not a program. Obviously this is not intended for RPL machines, as it depends on a revolving 4-level stack. Edited: 21 Oct 2009, 10:23 a.m. Re: Fibonacci Sequence - Paul Dale - 10-20-2009 On an RPL machine (three command, ? keystroked): `SWAP OVER +` On a 42 (five keystrokes, two commands): `x<>y RCL+ ST Y` Still thinking about other models.... In the 20b scientific firmware there is a generalised Fibonacci function :-) - Pauli Re: Fibonacci Sequence - Byron Foster - 10-20-2009 Quote: On a 42 (five keystrokes, two commands): `x<>y RCL+ ST Y` One command: `RCL+ ST L` Edited: 20 Oct 2009, 5:51 p.m. after one or more responses were posted Re: Fibonacci Sequence - Paul Dale - 10-20-2009 Nice! I'd come up with an alternating sequence of: ``` STO+ ST Y STO+ ST X ``` But that isn't nearly as nice. - Pauli Re: Fibonacci Sequence - Byron Foster - 10-20-2009 I recently worked on this so I could try and show off the new 7 line program display mode of the 42s/Free42 in iTunes. I came up with: ```01 LBL "Fibonac" 02 1 03 STO ST L 04 LBL 00 05 STOP 06 RCL+ ST L 07 GTO 00 ``` It's not perfect because it creates the sequence 1,2,3,... instead of 1,1,2,... Fibonacci Sequence: where is Valentin Albillo? - Vieira, Luiz C. (Brazil) - 10-20-2009 Hi, all; Amongst many others, Valentim would be one of the guys to add some valuable comments to this thread... Cheers. Luiz (Brazil) Edited: 20 Oct 2009, 6:34 p.m. Re: Fibonacci Sequence - Paul Dale - 10-20-2009 Try: ```01 LBL "Fibonac" 02 0 03 STO ST L 04 1 05 LBL 00 06 STOP 07 RCL+ ST L 08 GTO 00 ``` - Pauli Re: Fibonacci Sequence - Byron Foster - 10-20-2009 Yea, that's better, but I was trying to get it to fit in 7 lines. Re: Fibonacci Sequence - Paul Dale - 10-20-2009 Replace the "0 STO ST L" with CLSTK and you get to 7 steps :-) - Pauli Re: Fibonacci Sequence - Israel Otero - 10-20-2009 Hi My program for the HP-41 of the Fibonacci sequence is: ```01 0 02 1 03 LBL 00 04 X<>Y 05 ST+ Y 06 PSE 07 GTO 00 08 .END.``` The advantages are that all terms are shown and is very efficient. Edited: 20 Oct 2009, 7:26 p.m. Re: Fibonacci Sequence - Don Shepherd - 10-20-2009 OK, a program on our old friend, the 12c, using no registers and 7 steps: ```1 enter + pse lastx x<-->y goto 03 ``` Re: Fibonacci Sequence - Allen - 10-20-2009 Don- Nice work.. I love how you program the Finance Calcs!!! Re: Fibonacci Sequence - Palmer O. Hanson, Jr. - 10-20-2009 On a TI A.O.S. machine like the TI-59 start with 1 in the t register and 1 in the display. Then press x<>t + and see each successive term in the display after each + . Re: Fibonacci Sequence - Byron Foster - 10-20-2009 How about: ```0 E^X LBL 00 STOP RCL+ ST L GTO 00 ``` Initialization isn't pretty, but it's as non destructive as you can get, and it begins the sequence correctly. Re: Fibonacci Sequence - Gerson W. Barbosa - 10-21-2009 Hi Don, Too late for the show, anyway an alternative 12c program that produces 0,1,1,2,3,... if we don't mind clearing some registers: ```01- CLEAR SIGMA 02- 1 03- x<>y 04- PSE 05- + 06- LST x 07- GTO 03 ``` Regards, Gerson. Re: Fibonacci Sequence - Kiyoshi Akima - 10-21-2009 ```LASTx x<>y + ``` That's four keystrokes on most RPN machines. On a line-addressed machine like the HP-25, the program becomes ```01 LASTx 02 x<>y 03 + 04 PAUSE 05 GTO 01 ``` Re: Fibonacci Sequence - Mike T. - 10-21-2009 Actually this exactly key sequence that I first came up with on my HP33C. Each sucessive iteration takes just four steps/key strokes which I thought was quite efficent, but a little cumbersome to key in... Mike T. Re: Fibonacci Sequence - Mike T. - 10-21-2009 Very close in approach to my 'preferred' solution and it doesn't even rely on 'Last x', but since I was using an HP33C I couldn't use Roll Up... Mike T. Re: Fibonacci Sequence - Mike T. - 10-21-2009 After thinking about it for a little bit on my HP33C I came up with Enter, Enter, Rdn, Rdn, + Admittedly not the absolutly the shortest number of keystrokes but it has a certain appeal... Re: Fibonacci Sequence - Michael Meyer - 10-21-2009 I like it. Has a nice rhythm to it. Giving credit where credit is due - Palmer O. Hanson, Jr. - 10-23-2009 In an earlier submission I gave a very short keyboard sequence for finding the series on an A.O.S. machine. The idea wasn't mine. I had seen it somewhere but couldn't locate it. Now I have found the original reference which is from V5N4/5P16 of TI PPC Notes: Quote: SHORTEST USEFUL ROUTINE - Samuel G. Allen sends me the shortest do-something-useful routine I have seen so far: 000: X<>T + PRT RST . With the t-register clear and 1 in the display, press RST R/S and it will print a listing of the Fibonacci numbers. ... Re: Fibonacci Sequence - Crawl - 10-24-2009 Another 3 command RPL: DUP ROT + Re: Fibonacci Sequence - Kiyoshi Akima - 10-27-2009 If we can alter the initial stack conditions, it can be done in one step. Set up the stack: ```5 sqrt 1 + 2 / ENTER ENTER FIX 0 5 sqrt 1/x ``` You'll need an additional ENTER if the FIX 0 doesn't enable stack lift. After that, press * (multiply) to see 1. Press * again to see 1. Keep going to see 2, 3, 5, 8, 13, etc. Re: Fibonacci Sequence - Mike T. - 11-04-2009 Not sure that qualifies as the shortest but it is interesting and does show just how useful the stack can be... Mike T. Re: Fibonacci Sequence - Michael Meyer - 11-04-2009 Impressive. Most impressive. You may be an HP Jedi yet. Re: Fibonacci Sequence - Ken Shaw - 11-05-2009 Very clever! Re: Fibonacci Sequence - Gerson W. Barbosa - 11-07-2009 Quote: ...it is interesting and does show just how useful the stack can be... The stack is really useful: quite by accident (as almost everything I discover) I found it can be used to solve the equation ``` x ----- = k , k > e ln(x) ``` Start by filling the stack with k then iterate 'ln *' until the answer on the display converges (somewhat slowly if k is close to e) to the second real solution. On my HP-45: ```pi ex ENTER ENTER ENTER ln * (16 times) -> 1.084423455e02 ``` As a comparison the HP-33s solver gives 108.442345473 (initial guess = 100). Can a non-programmable algebraic calculator do this? :-) Gerson. The answer is Yes! - Palmer O. Hanson, Jr. - 11-08-2009 Gerson: You asked: Quote: Can a non-programmable algebraic calculator do this? :-) The answer is yes. Try this on a TI-30: pi INV ln STO then do ln x RCL = After 16 iterations you will see 108.44235 in the display with 108.44234529 in the display register. I suspect that this will work with any algebraic which has a memory. It works on my Sharp EL-501W where it yields 108.4423436 after twelve iterations. Palmer Edited: 8 Nov 2009, 1:51 p.m. Re: The answer is Yes! - Gerson W. Barbosa - 11-08-2009 Quote: You asked: Quote: Can a non-programmable algebraic calculator do this? :-) The answer is yes. Thanks! Next time I'll try to solve the problem on an algebraic calculator before asking :-) By the way, long ago, for a while, I had a TI-51-III and a TI-59. Too bad the first got broken (my fault) and the latter was stolen... Gerson.