32 lines
682 B
Plaintext
32 lines
682 B
Plaintext
get "libhdr"
|
|
|
|
let Damm(ns) = valof
|
|
$( let dt = table
|
|
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
|
|
let idgt = 0
|
|
for i=1 to ns%0
|
|
test '0' <= ns%i <= '9'
|
|
do idgt := dt!(ns%i-'0' + 10*idgt)
|
|
or resultis false
|
|
resultis idgt = 0
|
|
$)
|
|
|
|
let check(ns) be
|
|
writef("%S: %S*N", ns, damm(ns) -> "pass", "fail")
|
|
|
|
let start() be
|
|
$( check("5724")
|
|
check("5727")
|
|
check("112946")
|
|
check("112949")
|
|
$)
|