%I #16 Dec 15 2020 18:32:01
%S 67,69,76,79,96,97,102,103,104,105,106,107,108,109,112,122,123,124,
%T 125,126,127,128,129,132,133,134,135,136,137,138,139,142,143,144,145,
%U 146,147,148,149,152,153,154,155,156,157,158,159,162,163,164
%N Numbers whose name in English is an anagram of the name of another number.
%H Reinhard Zumkeller, <a href="/A169936/b169936.txt">Table of n, a(n) for n = 1..680</a>, all terms < 1000.
%H Roel and Bas van Dijk, <a href="http://hackage.haskell.org/package/numerals">Numerals package</a>, Hackage (Haskell packages).
%H Wikipedia, <a href="http://en.wikipedia.org/wiki/Anagram">Anagram</a>
%e SIXTY-SEVEN <-> SEVENTY-SIX
%e SIXTY-NINE <-> NINETY-SIX
%e SEVENTY-SIX <-> SIXTY-SEVEN
%e NINETY-SIX <-> SIXTY-NINE
%e ONE HUNDRED TWO <-> TWO HUNDRED ONE
%e ONE HUNDRED THREE <-> THREE HUNDRED ONE
%e ...
%e ONE HUNDRED TWELVE <-> TWO HUNDRED ELEVEN
%e ...
%e SIX HUNDRED SEVENTY-NINE <-> SIX HUNDRED NINETY-SEVEN <-> SEVEN HUNDRED SIXTY-NINE <-> SEVEN HUNDRED NINETY-SIX <-> NINE HUNDRED SIXTY-SEVEN <-> NINE HUNDRED SEVENTY-SIX
%o (Haskell)
%o import Data.Map (empty, insertWith, elems)
%o import Data.Text (unpack); import Data.Maybe (fromJust)
%o import Data.List (sort)
%o import Text.Numeral.Grammar.Reified (defaultInflection)
%o import qualified Text.Numeral.Language.EN as EN -- see link
%o a169936 n = a169936_list !! (n-1)
%o a169936_list = sort $ concat $ filter ((> 1) . length) $
%o elems $ fill [1..999] empty where
%o fill [] m = m
%o fill (z:zs) m = fill zs $ insertWith (++) (sort $ engl z) [z] m
%o engl :: Integer -> String
%o engl = unpack . fromJust . EN.us_cardinal defaultInflection
%o -- _Reinhard Zumkeller_, Feb 18 2015
%o (Python)
%o from num2words import num2words
%o def alst(ALLBELOW=1000):
%o out, ana = set(), dict()
%o for i in range(ALLBELOW):
%o key = "".join(sorted(num2words(i)))
%o if key in ana: out.update([ana[key], i])
%o else: ana[key] = i
%o return sorted(out)
%o print(alst()) # _Michael S. Branicky_, Dec 14 2020
%K nonn,word,nice
%O 1,1
%A _Eric Angelini_, Jul 21 2010
%E Terms 102 through 112 from _Andrew Weimholt_, Jul 21 2010
%E Terms beyond 112 from _Sean A. Irvine_, Jul 22 2010
|