login
a(n) is the smallest number whose name in UK English contains n consonants.
0

%I #14 Aug 09 2022 09:05:19

%S 1,2,3,12,13,22,23,300,101,102,103,112,113,122,123,223,323,1112,1113,

%T 1122,1123,1223,1323,2323,3323,12323,13323,22323,23323,101223,101323,

%U 102323,103323,112323,113323,122323,123323,223323,323323,1113323,1122323,1123323,1223323,1323323

%N a(n) is the smallest number whose name in UK English contains n consonants.

%C In UK English, "101" is written as "one hundred and one".

%C oNe has 1 consonant, TWo has 2, THRee has 3, TWeLVe has 4, THiRTeeN has 5, TWeNTyTWo has 6, TWeNTyTHRee has 7, THRee HuNDReD has 8, oNe HuNDReD aND oNe has 9, oNe HuNDReD aND TWo has 10, oNe HuNDReD aND THRee has 11, oNe HuNDReD aND TWeLVe has 12.

%H Wiktionary, <a href="https://en.wiktionary.org/wiki/one_hundred_one">one hundred one</a> (US)

%H Wiktionary, <a href="https://en.wiktionary.org/wiki/one_hundred_and_one">one hundred and one</a> (UK)

%o (Python)

%o from num2words import num2words

%o from itertools import count, islice

%o def c(n): return sum(1 for c in num2words(n) if c in "bcdfghjklmnpqrstvwxz")

%o def agen():

%o n, adict = 1, dict()

%o for k in count(1):

%o v = c(k)

%o if v not in adict: adict[v] = k

%o while n in adict: yield adict[n]; n += 1

%o print(list(islice(agen(), 39))) # _Michael S. Branicky_, Aug 09 2022

%K nonn,word

%O 1,2

%A _Rodolfo Kurchan_, Mar 08 2009

%E Edited by _Jon E. Schoenfield_, Oct 06 2018

%E a(18) and beyond from _Michael S. Branicky_, Aug 09 2022