RosettaCodeData/Task/Find-the-missing-permutation/EasyLang/find-the-missing-permutatio...

19 lines
525 B
Plaintext

func$ missing perms$[] .
n = len perms$[1]
len cnt[] n
nn = 1
for i = 2 to n - 1 : nn *= i
for i to n
for j to n : cnt[j] = 0
for s$ in perms$[]
cod = strcode substr s$ i 1 - 64
cnt[cod] += 1
.
for j to n
if cnt[j] <> nn : miss$ &= strchar (j + 64)
.
.
return miss$
.
print missing [ "ABCD" "CABD" "ACDB" "DACB" "BCDA" "ACBD" "ADCB" "CDAB" "DABC" "BCAD" "CADB" "CDBA" "CBAD" "ABDC" "ADBC" "BDCA" "DCBA" "BACD" "BADC" "BDAC" "CBDA" "DBCA" "DCAB" ]