Jump to content

Damm algorithm: Difference between revisions

Add BCPL
(Add BCPL)
Line 541:
FAIL
</pre>
 
=={{header|BCPL}}==
<lang bcpl>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")
$)</lang>
{{out}}
<pre>5724: pass
5727: fail
112946: pass
112949: fail</pre>
 
=={{header|C}}==
2,121

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.