Anadromes: Difference between revisions
Content added Content deleted
(Add Seed7) |
(J) |
||
Line 49: | Line 49: | ||
</pre> |
</pre> |
||
=={{header|J}}== |
|||
Inspecting other entries here, it seems clear that we cannot ignore case. Otherwise, 'trebled' would be an anadrome. |
|||
Anyways, the basic approach here is to identify a canonical key for each word, look for paired keys and organize the words based on those keys: |
|||
<lang J>words=: cutLF fread 'words.txt' |
|||
canon=: {.@/:~@(,:|.) each words |
|||
akeys=: (~. #~ 2 = #/.~) canon |
|||
tkeys=: (#~ 6 < #@>) akeys |
|||
order=: /: canon |
|||
pairs=: _2]\ (order{canon e. tkeys) # order { words</lang> |
|||
This gives us: |
|||
<lang J> pairs |
|||
┌────────┬────────┐ |
|||
│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 │ |
|||
└────────┴────────┘</lang> |
|||
=={{header|Julia}}== |
=={{header|Julia}}== |