This program is Copyright © 2007 by Jean-Marc Baillard and is used here by permission.
This program is supplied without representation or warranty of any kind. Jean-Marc Baillard and The Museum of HP Calculators therefore assume no responsibility and shall have no liability, consequential or otherwise, of any kind arising from the use of this program material or any part thereof.
-"Sphynx" is a number guessing game.
-You have to find a mystery-number X
-After you've keyed in a guess N, the HP-41 displays "N / d"
where d = the sum of the digits of | X - N |
-For example, with N = 456789 and X = 259191, the HP-41 displays "456789 / 39" because | 259191 - 456789 | = 197598 and 1+9+7+5+9+8 = 39
-Exception: if d = 0 ( i-e if X = N ) , the calculator displays "X // G" where G is the number of your guesses.
-In the following program, X is always a 6-digit number.
-It uses ATOX , ALENG and the CX-Function GETKEYX
-The program only stops when you've found the solution!
-After keying in your guess, press any key ( for instance ENTER^ )
except the numeric keys, CHS and the decimal point.
Program Listing
Data Registers:
• R00 = r ( random numbers )
( Register R00 is to be initialized before executing "SPHYNX" )
R01 = X R02 = 0 , 1 , 2 , .... , G
Flags: /
Subroutines: /
01 LBL "SPHYNX"
02 RCL 00
03 R-D
04 FRC
05 STO 00
06 9 E5
07 *
08 INT
09 E5
10 +
11 STO 01
12 0
13 STO 02
14 FIX 0
15 CF 29
16 LBL 01
17 X<> Z
18 ISG 02
19 CLX
20 ENTER^
21 CLA
22 RCL 01
23 -
24 ABS
25 ARCL X
26 CLX
27 ALENG
28 CHS
29 48
30 *
31 ENTER^
32 LBL 02
33 STO Y
34 ATOX
35 +
36 X#Y?
37 GTO 02
38 " "
one space
39 ARCL Z
40 "~/"
append /
41 X=0?
42 GTO 04
43 ARCL X
44 AVIEW
45 CLX
46 LBL 03
47 48
you have at most 48 seconds to press a key
48 GETKEYX
49 X=0?
50 GTO 01
51 X<>Y
52 X<> L
53 -
54 X<>Y
55 10
56 *
57 +
58 GTO 03
SST this line in RUN mode to compile this GTO 03 before the first execution
59 LBL 04
60 "~/"
append /
61 ARCL 02
62 FIX 4
63 SF 29
64 AVIEW
65 END
( 106 bytes / SIZE 003 )
Example 1 STO 00
1st guess 123456 XEQ "SPHYNX"
"123456 / 24" meaning the
sum of the digits of | 123456 - X | = 24
2nd guess 4 3 7 2 1 8
ENTER^ "437218 / 21"
------------------------------- | 437218 - X | = 21
3rd guess 3 6 6 2 0 1
ENTER^ "366201 // 3"
the program stops: you've found the solution in 3 guesses
-Do not press the different digit keys too quickly.
-I let you find a good strategy, but much more than 3 guesses are usually
necessary...
-"Sphynx" is probably not so interesting as the Mastermind, but it
makes a little change.
Go back to the HP-41 software library
Go back to the general software library
Go
back to the main exhibit hall