Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
38
Task/Damm-algorithm/MAD/damm-algorithm.mad
Normal file
38
Task/Damm-algorithm/MAD/damm-algorithm.mad
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
NORMAL MODE IS INTEGER
|
||||
|
||||
R VERIFY DAMM CHECKSUM OF NUMBER
|
||||
INTERNAL FUNCTION(CKNUM)
|
||||
VECTOR VALUES DAMMIT =
|
||||
0 0,3,1,7,5,9,8,6,4,2
|
||||
1 , 7,0,9,2,1,5,4,8,6,3
|
||||
2 , 4,2,0,6,8,7,1,3,5,9
|
||||
3 , 1,7,5,0,9,8,3,4,2,6
|
||||
4 , 6,1,2,3,0,4,5,9,7,8
|
||||
5 , 3,6,7,4,2,0,9,5,8,1
|
||||
6 , 5,8,6,9,7,2,0,1,3,4
|
||||
7 , 8,9,4,5,3,6,2,0,1,7
|
||||
8 , 9,4,3,8,6,1,7,2,0,5
|
||||
9 , 2,5,8,1,4,3,6,7,9,0
|
||||
DIMENSION DAMDGT(10)
|
||||
ENTRY TO DAMM.
|
||||
TMP=CKNUM
|
||||
THROUGH GETDGT, FOR NDGT=0, 1, TMP.E.0
|
||||
DAMDGT(NDGT) = TMP-TMP/10*10
|
||||
GETDGT TMP = TMP/10
|
||||
INTRM = 0
|
||||
THROUGH CKDGT, FOR NDGT=NDGT, -1, NDGT.L.0
|
||||
CKDGT INTRM = DAMMIT(INTRM*10 + DAMDGT(NDGT))
|
||||
FUNCTION RETURN INTRM.E.0
|
||||
END OF FUNCTION
|
||||
|
||||
R TEST SOME NUMBERS
|
||||
THROUGH TEST, FOR VALUES OF N = 5724,5727,112946,112949
|
||||
WHENEVER DAMM.(N)
|
||||
PRINT FORMAT VALID,N
|
||||
OTHERWISE
|
||||
PRINT FORMAT INVAL,N
|
||||
TEST END OF CONDITIONAL
|
||||
|
||||
VECTOR VALUES VALID = $I9,S1,5HVALID*$
|
||||
VECTOR VALUES INVAL = $I9,S1,7HINVALID*$
|
||||
END OF PROGRAM
|
||||
Loading…
Add table
Add a link
Reference in a new issue