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") $)