## Saturday, September 30, 2017

### HP 12C: Prime Factoring (by Don Shepard)

HP 12C:  Prime Factoring (by Don Shepard)

Introduction – Cash Flow Registers to Simulate Indirect Addressing

This program uses what is called indirect addressing on the HP 12C, which can be simulated by the use of the cash flow registers.

Cash flow registers can be registered by using the cash flow [ g ] [PMT] (CFj)  and frequency [ g ] [ FV ] (Nj) registers.  Every time a cash flow is stored, the counter is increased by 1.  The counter can be recalled by press [RCL] [ n ].

Similarly, you can recall the cash flows by the use of [RCL] [ g ] [PMT] (CFj) and the attached frequencies by the use of [RCL] [ g ] [ FV ] (Nj).  Each time a cash flow is recalled, the counter is decreased by 1.

Each cash flow can have a frequency up to 99 copies.

Fun fact:  the first 20 cash flows can be stored into registers R0 through R19, with the 20th flow stored in FV (future value).  The cash flow 0 is the initial cash flow, CF0 (accessed by [ g ] [ PV ] (CF0)).

This is kind of storing values in a list and recalling them whenever necessary.

Program:

Enter the integer and press [ R/S ].  Keep pressing [ R/S ] to reveal more factors.  The factorization ends when a zero appears.

(Remember if you program using a HP 12C Platinum, step numbers are three digits instead of two.)

 Step Code Key 01 44, 0 STO 0 02 42, 32 Clear Σ 03 2 2 04 44, 11 STO n 05 6 6 06 43, 14 [ g ] CFj 07 2 2 08 43, 15 [ g ] Nj 09 6 6 10 43, 14 [ g ] CFj 11 4 4 12 43, 15 [ g ] Nj 13 2 2 14 43, 14 [ g ] CFj 15 4 4 16 43, 15 [ g ] Nj 17 2 2 18 43, 14 [ g ] CFj 19 4 4 20 43, 15 [ g ] Nj 21 2 2 22 43, 14 [ g ] CFj 23 43, 15 [ g ] Nj 24 1 1 25 43, 14 [ g ] CFj 26 2 2 27 43, 15 [ g ] Nj 28 0 0 29 44, 12 STO i 30 45, 43, 15 RCL [ g ] Nj 31 43, 33, 56 GTO 56 32 1 1 33 44, 12 STO i 34 45, 43, 14 RCL [ g ] CFj 35 43, 33, 56 GTO 56 36 45, 11 RCL n 37 3 3 38 43, 34 x≤y 39 43, 33, 28 GTO 28 40 45, 0 RCL 0 41 43, 23 LN 42 43, 35 x=0 43 43, 33, 00 GTO 00 44 6 6 45 44, 11 STO n 46 45, 0 RCL 0 47 45, 1 RCL 1 48 36 ENTER 49 20 * 50 43, 34 x≤y 51 43, 33, 28 GTO 28 52 45, 0 RCL 0 53 31 R/S 54 0 0 55 43, 33, 00 GTO 00 56 44, 40, 1 STO+ 1 57 45, 0 RCL 0 58 45, 1 RCL 1 59 10 ÷ 60 43, 24 FRAC 61 43, 35 x=0 62 43, 33, 67 GTO 67 63 45, 12 RCL i 64 43, 35 x=0 65 43, 33, 32 GTO 32 66 43, 33, 36 GTO 36 67 45, 1 RCL 1 68 44, 10, 0 STO÷ 0 69 31 R/S 70 0 0 71 43, 33, 56 GTO 56

** Line 34 has been corrected.  10/3/2017

Example 1:

Factoring 148:

148 [R/S]
Display:  2, Press [R/S]
Display:  2, Press [R/S]
Display:  37, Press [R/S]
Display: 0

Result:  148 = 2 * 2 * 37 = 2^2 * 37

Example 2:

Factoring 976:

976
Display:  2, Press [R/S]
Display:  2, Press [R/S]
Display:  2, Press [R/S]
Display:  2, Press [R/S]
Display:  61, Press [R/S]
Display:  0, Press [R/S]

Result:  976 = 2 * 2 * 2 * 2 * 61 = 2^4 * 61

Special thanks to Don Shephard for letting me post his program on this blog.  Shepard attended HHC 2017, where he spoke about punch cards and their history.

Eddie

This blog is property of Edward Shore, 2017.