OFFSET
3,3
COMMENTS
Variant of A080777. - R. J. Mathar, Dec 13 2008
LINKS
Michael S. Branicky, Table of n, a(n) for n = 3..608 (terms < 10^54)
Hans Havermann, Table giving n and American English name for n, for 0 <= n <= 100999, without spaces or hyphens
Landon Curt Noll, The English Name of a Number.
Eric Weisstein's World of Mathematics, Number.
EXAMPLE
a(3) = 1: "one", a(4) = 0: "zero", a(5) = 3: "three", a(6) = 11: "eleven", a(7) = 15: "fifteen", etc.
MATHEMATICA
(* first load Hans Havermann's text file a001477.txt and then *)
f[n_] := Length@ Characters@ ToString@ lst[[n]]; g[n_] := Block[{k = 1}, While[ f[k] != n, k++]; k]; Array[g, 41, 3] - 1 (* Robert G. Wilson v, May 26 2013 *)
f[n_] := Length@ StringPartition[ StringReplace[ IntegerName[n, "Words"], ", " | " " | "\[Hyphen]" -> ""], 1] (* after Giovanni Resta in A005589 *); t[_] := 0; k = 1; While[k < 174000, a = f@k; If[t[a] == 0, t[a] = k]; k++]; t[4] = 0 (* only {0, 4, 5 & 9} have just four letters *); t@# & /@ Range[3, 54] (* Robert G. Wilson v, May 25 2018 *)
PROG
(Python)
from num2words import num2words as n2w
from itertools import count, islice
def f(n): return sum(1 for c in n2w(n).replace(" and", "") if c.isalpha())
def agen(): # generator of terms
adict, n = dict(), 3
for k in count(0):
v = f(k)
if v not in adict: adict[v] = k
while n in adict: yield adict[n]; n += 1
print(list(islice(agen(), 40))) # Michael S. Branicky, Feb 19 2023
CROSSREFS
KEYWORD
nonn,word
AUTHOR
Robert G. Wilson v, Nov 04 2007
EXTENSIONS
More terms and reworded name from M. F. Hasler, Feb 25 2018
STATUS
approved