The Museum of HP Calculators

HP Forum Archive 15

[ Return to Index | Top of Index ]

factors and primes for 29c
Message #1 Posted by Hal on 31 Jan 2006, 11:28 p.m.

I would humbly like to submit my program (written for the HP29C) to find the prime factors of a given integer, or find all primes between 2 given integers. This program could be adapted to any machine with >= 98 program lines, conditional branching, and at least 6 storage registers. Note that since the 29C doesn't have flags, I have used register 0 as a pseudo flag.

Instructions: To find prime factors of an integer...put integer in x register and GSB 9. Factors are displayed successively. R/S to see the next factor. 1 is always the final factor displayed. If given integer is prime, factors displayed will be it and 1.

To find primes between two integers, put lower integer into register 6, and upper integer into register 9, and GSB 8. primes will display from lowest to highest. R/S to view next prime. Display will flash one zero, then 10 zeros, then 3 zeros (fix 2) when finished.
Best regards, Hal

step#           mnewmonic  

1 lbl 9
2 0 set flag register to 0 for prime
3 sto 0 factors routine
4 x<>y
5 lbl 7
6 sto 04
7 sqrt
8 sto 05 set bail out point for finding factors
9 2
10 sto 1
11 gsb 1
12 3 manually check 2,3,5,7 for divisibility
13 sto 1
14 gsb 1
15 5
16 sto 1
17 gsb 1
18 7
19 sto 01
20 gsb 1
21 lbl 3
22 4 increment trial divisor by sequence
23 sto + 1 such that multiples of 2,3 and 5
24 gsb 1 are skipped
25 2
26 sto + 1
27 gsb 1
28 4
29 sto + 1
30 gsb 1
31 2
32 sto + 1
33 gsb 1
34 4
35 sto + 1
36 gsb 1
37 6
38 sto + 1
39 gsb 1
40 2
41 sto + 1
42 gsb 1
43 6
44 sto + 1
45 gsb 1
46 gto 3
47 lbl 1
48 rcl 5
49 rcl 1
50 x>y?
51 gto 5
52 rcl 04
53 x<>y
54 /
55 enter
56 frc
57 x=0?
58 gto 4
59 rtn
60 lbl 4
61 rcl 0
62 x<>0?
63 gto 2
64 rcl 1
65 r/s
66 roll dn
67 roll dn
68 roll dn
69 gto 7
70 lbl 5
71 rcl 4
72 r/s
73 rcl 0
74 x<>0?
75 gto 2
76 1
77 r/s
78 rtn
79 lbl 8
80 9 set flag register to non-zero for
81 sto 0 primes between integers routine
82 rcl 6
83 gto 7
84 lbl 2
85 1
86 sto + 6
87 rcl 9
88 rcl 6
89 x>y?
90 gto 6
91 gto 7
92 lbl 6
93 0
94 pause
95 fix 9
96 pause
97 fix 2
98 r/s

      
Re: factors and primes for 29c
Message #2 Posted by Trent Moseley on 1 Feb 2006, 2:46 p.m.,
in response to message #1 by Hal

Hi,

Peter Henrici in his book "Computational Analysis with the HP-25 Pocket Calculator" has a prime program for the 25 using all 49 lines, its four storage registers, and of course no flags.

tm

            
Re: factors and primes for 29c
Message #3 Posted by Hal on 1 Feb 2006, 5:38 p.m.,
in response to message #2 by Trent Moseley

I'll have to check that book out...Henrici must be a master of brevity when programming. There is a prime factors / prime numbers program for the hp67 in the software section of the this website that's 223 lines long (it has a few more bells and whistles for printing options, and error detection, etc). Best regards, Hal


[ Return to Index | Top of Index ]

Go back to the main exhibit hall