Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
36
Task/Damm-algorithm/Draco/damm-algorithm.draco
Normal file
36
Task/Damm-algorithm/Draco/damm-algorithm.draco
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
proc damm(*char str) bool:
|
||||
[10][10]byte dammtbl = (
|
||||
(0,3,1,7,5,9,8,6,4,2),
|
||||
(7,0,9,2,1,5,4,8,6,3),
|
||||
(4,2,0,6,8,7,1,3,5,9),
|
||||
(1,7,5,0,9,8,3,4,2,6),
|
||||
(6,1,2,3,0,4,5,9,7,8),
|
||||
(3,6,7,4,2,0,9,5,8,1),
|
||||
(5,8,6,9,7,2,0,1,3,4),
|
||||
(8,9,4,5,3,6,2,0,1,7),
|
||||
(9,4,3,8,6,1,7,2,0,5),
|
||||
(2,5,8,1,4,3,6,7,9,0)
|
||||
);
|
||||
byte interim;
|
||||
char c;
|
||||
channel input text ch;
|
||||
|
||||
interim := 0;
|
||||
open(ch, str);
|
||||
while read(ch; c) do
|
||||
interim := dammtbl[interim][c-'0']
|
||||
od;
|
||||
close(ch);
|
||||
interim = 0
|
||||
corp
|
||||
|
||||
proc check(*char str) void:
|
||||
writeln(str, ": ", if damm(str) then "pass" else "fail" fi)
|
||||
corp
|
||||
|
||||
proc main() void:
|
||||
check("5724");
|
||||
check("5727");
|
||||
check("112946");
|
||||
check("112949");
|
||||
corp
|
||||
Loading…
Add table
Add a link
Reference in a new issue