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> |
||