Damm algorithm: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add Refal) |
Not a robot (talk | contribs) (Add SETL) |
||
Line 3,262: | Line 3,262: | ||
}</syntaxhighlight> |
}</syntaxhighlight> |
||
{{Out}}See it running in your browser by [https://scalafiddle.io/sf/d25pzoH/0 ScalaFiddle (JavaScript, non JVM)] or by [https://scastie.scala-lang.org/8t9RuipwRHGGoczFXPvT5A Scastie (remote JVM)]. |
{{Out}}See it running in your browser by [https://scalafiddle.io/sf/d25pzoH/0 ScalaFiddle (JavaScript, non JVM)] or by [https://scastie.scala-lang.org/8t9RuipwRHGGoczFXPvT5A Scastie (remote JVM)]. |
||
=={{header|SETL}}== |
|||
<syntaxhighlight lang="setl">program damm_algorithm; |
|||
tests := [5724, 5727, 112946, 112949]; |
|||
loop for test in tests do |
|||
print(str test + ': ' + if damm test then 'Pass' else 'Fail' end); |
|||
end loop; |
|||
op damm(n); |
|||
dt := [[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,3,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]]; |
|||
i := 0; |
|||
loop for d in str n do |
|||
i := dt(i+1)(val d+1); |
|||
end loop; |
|||
return i=0; |
|||
end op; |
|||
end program;</syntaxhighlight> |
|||
{{out}} |
|||
<pre>5724: Pass |
|||
5727: Fail |
|||
112946: Pass |
|||
112949: Fail</pre> |
|||
=={{header|Sidef}}== |
=={{header|Sidef}}== |