Damm algorithm: Difference between revisions
Content added Content deleted
(Added Quackery.) |
No edit summary |
||
Line 1,708: | Line 1,708: | ||
T |
T |
||
NIL |
NIL |
||
</pre> |
|||
=={{header|PureBasic}}== |
|||
<lang PureBasic>DataSection |
|||
DT_Start: |
|||
Data.b 0,3,1,7,5,9,8,6,4,2 |
|||
Data.b 7,0,9,2,1,5,4,8,6,3 |
|||
Data.b 4,2,0,6,8,7,1,3,5,9 |
|||
Data.b 1,7,5,0,9,8,3,4,2,6 |
|||
Data.b 6,1,2,3,0,4,5,9,7,8 |
|||
Data.b 3,6,7,4,2,0,9,5,8,1 |
|||
Data.b 5,8,6,9,7,2,0,1,3,4 |
|||
Data.b 8,9,4,5,3,6,2,0,1,7 |
|||
Data.b 9,4,3,8,6,1,7,2,0,5 |
|||
Data.b 2,5,8,1,4,3,6,7,9,0 |
|||
EndDataSection |
|||
Procedure.i Adr(Row,Col) : ProcedureReturn ?DT_Start+Row+10*Col : EndProcedure |
|||
Procedure.b CheckDamm(Value.s) |
|||
*ipc.Character=@Value : it=0 |
|||
While *ipc\c |
|||
it=PeekB(Adr(*ipc\c-'0',it)) : *ipc+SizeOf(Character) |
|||
Wend |
|||
ProcedureReturn Bool(it) |
|||
EndProcedure |
|||
If OpenConsole() |
|||
Repeat |
|||
Print("Check Damm: ") : i$=Input() |
|||
If CheckDamm(i$) : PrintN(Space(12)+"FALSE") : Else : PrintN(Space(12)+"TRUE") : EndIf |
|||
Until i$="" |
|||
EndIf |
|||
End</lang> |
|||
{{out}} |
|||
<pre>Check Damm: 5724 |
|||
TRUE |
|||
Check Damm: 5727 |
|||
FALSE |
|||
Check Damm: 112946 |
|||
TRUE |
|||
Check Damm: 112949 |
|||
FALSE |
|||
Check Damm: |
|||
</pre> |
</pre> |
||