香港身份證核對數位
程式二、三及四由網友 Nobody 提供。程式可以計算香港身分證括號中的核對數字。
程式更新日期: 2009年10月28日
程式一 (80 bytes)
ClrMemory: 2→C: ?→A: ?→B: Fix0: While B:
Rnd( B÷10 - . 5→D: C(B - 10Ans M+:
D→B: C - 7 => C + 1→C: WhileEnd: 8AM+:
M - 11Rnd(M÷11 - . 5 => 11 - Ans: Norm 1
程式二(66 bytes,程式一在BASE模式版本)
程式需要在 BASE 模式下執行,因此在選擇新程式位置後,按 3 選用BASE模式 ,綠色A字及B字是十六進數值(直接按出)。
ClrMemory: Dec: 2→C: ?→A: ?→B: Hex:
While B: B÷A→D: C(B - AAns M+: D→B:
C - 7 => C + 1→C: WhileEnd: 8AM+:
M - B(M ÷ B
=> B - Ans
程式三 (50 Bytes)
ClrMemory: 8→B: While B - 1: ?→A:
ABM+: B - 1→B: WhileEnd: Fix 0:
M - 11Rnd(M ÷ 11 - . 5 => 11 - Ans: Norm 2
程式四(42 bytes,程式三在BASE模式版本)
程式需要在 BASE 模式下執行,因此在選擇新程式位置後,按 3 選用BASE模式 ,綠色B字是十六進數值(直接按出)。
ClrMemory: Dec: 8→B: While B - 1: ?→A: ABM+:
B - 1→B: WhileEnd: Hex: M - B(M ÷
B => B - Ans
注意: 輸入開始的英文字母,A代表的數值是1,B代表的數值是2,如此類推 ,Z代表26(可以參考以下對照表)。
A | B | C | D | E | F | G | H | I | J | K | L | M |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
例題: 計算身份證Z938475括號中的核對數字。
程式一及程式二按法:
按 Prog 1 再按 26 EXE (26代表身份證開始的字母為Z)
938475 EXE (顯示身份證括號內的數字為9)
程式三及程式四按法:
按 Prog 1 再按 26 EXE (26代表身份證開始的字母為Z)
9 EXE 3 EXE 8 EXE 4 EXE 7EXE 5 EXE (顯示身份證括號內的數字為9)
註: 使用程式一或程式三,若答案為10表示括號內的字母為A。