Anadromes: Difference between revisions
Content added Content deleted
(Add Factor) |
(Added Wren) |
||
Line 74: | Line 74: | ||
revotes ↔ setover |
revotes ↔ setover |
||
sallets ↔ stellas</pre> |
sallets ↔ stellas</pre> |
||
=={{header|Wren}}== |
|||
{{libheader|Wren-sort}} |
|||
{{libheader|Wren-fmt}} |
|||
<lang ecmascript>import "io" for File |
|||
import "./sort" for Sort, Find |
|||
import "./fmt" for Fmt |
|||
var wordList = "words.txt" // local copy |
|||
var words = File.read(wordList) |
|||
.trimEnd() |
|||
.split("\n") |
|||
.where { |word| word.count > 6 } |
|||
.toList |
|||
Sort.quick(words) // need strict lexicographical order to use binary search |
|||
var anadromes = [] |
|||
for (word in words) { |
|||
var word2 = word[-1..0] |
|||
if (word != word2 && !anadromes.contains(word2) && Find.first(words, word2) >= 0) { |
|||
anadromes.add(word) |
|||
} |
|||
} |
|||
System.print("The anadrome pairs with more than 6 letters are:") |
|||
for (ana in anadromes) Fmt.print("$8s <-> $8s", ana, ana[-1..0])</lang> |
|||
{{out}} |
|||
<pre> |
|||
The anadrome pairs with more than 6 letters are: |
|||
amaroid <-> diorama |
|||
degener <-> reneged |
|||
deifier <-> reified |
|||
deliver <-> reviled |
|||
dessert <-> tressed |
|||
desserts <-> stressed |
|||
deviler <-> relived |
|||
dioramas <-> samaroid |
|||
gateman <-> nametag |
|||
leveler <-> relevel |
|||
pat-pat <-> tap-tap |
|||
redrawer <-> rewarder |
|||
reknits <-> stinker |
|||
relever <-> reveler |
|||
reliver <-> reviler |
|||
revotes <-> setover |
|||
sallets <-> stellas |
|||
</pre> |