(12C) Greatest Common Divisor
01-06-2018, 12:29 AM (This post was last modified: 01-07-2018 02:35 AM by Gamo.)
Post: #1
 Gamo Senior Member Posts: 705 Joined: Dec 2016
(12C) Greatest Common Divisor
Quick and Simple program to find GCD of two integers.

Code:
  - LSTx X<>Y ENTER  x  √ X=0 GTO 10 GTO 01 X<>Y

Thanks to Dieter for the trick by make sure that Y is greater than X so ABS don't have to be use and here is the update program.

Code:
 X≤Y X<>Y X<>Y   - LSTx X<>Y X=0 GTO 10 GTO 01 X<>Y

Example:
Test 1 GCD (256, 656) is 16 ---> 256 ENTER 656 R/S
Test 2 GCD (12345, 67890) is 15 ---> 12345 ENTER 67890 R/S

Remark: Test 2 will run faster on HP 12C+

Gamo
01-06-2018, 01:10 AM
Post: #2
 Carsen Member Posts: 202 Joined: Jan 2017
RE: (12C) Greatest Common Divisor
I love your programs Gamo since I use the HP-12C all the time! Thanks for the post.
01-06-2018, 04:23 AM
Post: #3
 Gamo Senior Member Posts: 705 Joined: Dec 2016
RE: (12C) Greatest Common Divisor
Thank You Carsen

Gamo
10-08-2021, 08:08 AM (This post was last modified: 10-08-2021 08:15 AM by Gamo.)
Post: #4
 Gamo Senior Member Posts: 705 Joined: Dec 2016
RE: (12C) Greatest Common Divisor
Long time no update for the GCD program.

I dig around some HP manual and found the HP-91 User's Manual on

Page 122 demostrated the manually keys in steps to find GCD with this

algorithm the slower computation speed on Original Classic HP-12C

will do really well and here I adapted this to run on the HP-12C

Code:
 01 STO 1 02 R/S 03 ENTER 04 ENTER 05 RCL 1 06 ÷ 07 INTG 08 RCL 1 09  x 10  - 11 X=0 12 GTO 19 13 RCL 1 14 X<>Y 15 STO 1 16 CLx 17  + 18  GTO 03 19  RCL 1 20 GTO 00

Example:
GCD (153, 351)

153 [R/S] display 153