HP Forums

Full Version: Capture the flag - HP-12C programming contest
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

There are at least two flags on HP-12C: BEG/END and D.MY/M.DY.
What the fastest ways to get these flags values? (and shortest also).

1)

10 second idea. Destroys values in financial registers.

0 FV 1 N 1 i 1 PV PMT 1 + X=0?

If condition true then it was in BEG mode, otherwise END mode.


2)

1.022 ENTER 1 CHS DATE INT 1 - x=0

will be true if mode was M.DY and will not if D.MY


I make no claims that these are anywhere near optimal, but they work.

1) Being not acquainted with finance, is N "n" or "Nj"?
2) 14 steps, <5s in both modes. Wonderful! And unexpected (for me) VIEW/PSE effect.

Oops. N should be lowercase n.

and an edit to the second set of instructions. Saves a step:


1.022 ENTER 1 CHS DATE LSTx - x=0


Edited: 11 Feb 2011, 3:11 p.m.

1) 11 steps.
Less then 4 seconds!!! Das ist Fantastisch! My best was 15s with finance and three times in length (while destroying finance regs too). If finance regs (i use them only for polynomials) are destroyed, it could be used in the finishing part of any program to select output.

1) May not be faster, but shorter:

0 FV 1 n 1 i 1 PV PMT FRC X=0?

Gene, my HP12C says new program is actually a bit FASTER too :)
Having read your articles on HP calcs for many years, I understand you are very experienced in programming them. Please, tell me if there are any more flags in HP-12C which could be used?

Quote:
1.022 ENTER 1 CHS DATE LSTx - x=0

Have I misunderstood something here? This returns 2.012 in M.DY mode and 32.012 in D.MY mode. That is, false for both modes.

1.012 ENTER 1 DATE INTG 1 - x=0 will return 0 and 1, respectively. Same number of steps though.

Oops. Shoudl have been:

1.022 ENTER 1 CHS DATE LSTx + x=0

0 FV 1 STO n STO i STO PV PMT 1 + X=0?

A very concise test! Well done, sir!