Anadromes: Difference between revisions

Content added Content deleted
(Added Ada solution)
(Created Nim solution.)
Line 631: Line 631:
sallets <=> stellas
sallets <=> stellas
sennits <=> stinnes
sennits <=> stinnes
</pre>

=={{header|Nim}}==
<syntaxhighlight lang="Nim">import std/[sets, strutils]

func reversed(s: string): string =
## Return the reverse of a string.
## Works only for ASCII strings.
result.setLen(s.len)
for i in 1..s.len:
result[i - 1] = s[^i]

var wordSet: OrderedSet[string]
for word in lines("words.txt"):
if word.len > 6:
wordSet.incl word

for word in wordSet:
let rev = reversed(word)
if rev > word and rev in wordSet:
echo word.alignLeft(12), rev
</syntaxhighlight>

{{out}}
<pre>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>
</pre>