Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
37
Task/Damm-algorithm/Arturo/damm-algorithm.arturo
Normal file
37
Task/Damm-algorithm/Arturo/damm-algorithm.arturo
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
; by @Krenium
|
||||
|
||||
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]
|
||||
]
|
||||
|
||||
damm?: function [z][zero? fold digits to :integer z .seed: 0 [x y]-> table\[x]\[y] ]
|
||||
|
||||
; Or, being more explicit:
|
||||
digits2: function [str][
|
||||
chars: split str
|
||||
result: map chars 'ch -> to :integer ch
|
||||
return result
|
||||
]
|
||||
|
||||
damm2?: function [str][
|
||||
d: digits2 str
|
||||
r: fold d .seed: 0 [x y] -> get get table x y
|
||||
return r = 0
|
||||
]
|
||||
|
||||
test: function [str][
|
||||
result: switch damm? str -> "valid"
|
||||
-> "invalid"
|
||||
print [str "is" result]
|
||||
]
|
||||
|
||||
loop ["5724" "5727" "112946" "112949"] => test
|
||||
Loading…
Add table
Add a link
Reference in a new issue