31 lines
706 B
Awk
31 lines
706 B
Awk
# syntax: GAWK -f DAMM_ALGORITHM.AWK
|
|
BEGIN {
|
|
damm_init()
|
|
leng = split("5724,5727,112946",arr,",") # test cases
|
|
for (i=1; i<=leng; i++) {
|
|
n = arr[i]
|
|
printf("%s %s\n",damm_check(n),n)
|
|
}
|
|
exit(0)
|
|
}
|
|
function damm_check(n, a,i) {
|
|
a = 0
|
|
for (i=1; i<=length(n); i++) {
|
|
a = substr(damm[a],substr(n,i,1)+1,1)
|
|
}
|
|
return(a == 0 ? "T" : "F")
|
|
}
|
|
function damm_init() {
|
|
# 0123456789
|
|
damm[0] = "0317598642"
|
|
damm[1] = "7092154863"
|
|
damm[2] = "4206871359"
|
|
damm[3] = "1750983426"
|
|
damm[4] = "6123045978"
|
|
damm[5] = "3674209581"
|
|
damm[6] = "5869720134"
|
|
damm[7] = "8945362017"
|
|
damm[8] = "9438617205"
|
|
damm[9] = "2581436790"
|
|
}
|