%I #45 Apr 25 2023 06:12:50
%S 1,0,3,11,15,13,17,24,23,73,101,104,103,111,115,113,117,124,123,173,
%T 323,373,1104,1103,1111,1115,1113,1117,1124,1123,1173,1323,1373,3323,
%U 3373,11373,13323,13373,17373,23323,23373,73373,101373,103323,103373,111373,113323,113373,117373,123323,123373
%N Least nonnegative integer which requires n letters to spell in English, excluding spaces and hyphens. A right inverse of A005589.
%C Variant of A080777. - _R. J. Mathar_, Dec 13 2008
%C This is one of many possible right inverses of A005589, i.e., A005589 o A134629 = id (of course on the domain of this sequence, [3 .. oo)). It does not satisfy A134629 o A005589 = id. - _M. F. Hasler_, Feb 25 2018
%H Michael S. Branicky, <a href="/A134629/b134629.txt">Table of n, a(n) for n = 3..608</a> (terms < 10^54)
%H Hans Havermann, <a href="/A001477/a001477.txt">Table giving n and American English name for n, for 0 <= n <= 100999, without spaces or hyphens</a>
%H Landon Curt Noll, <a href="http://www.isthe.com/chongo/tech/math/number/number.html">The English Name of a Number</a>.
%H Eric Weisstein's World of Mathematics, <a href="http://mathworld.wolfram.com/Number.html">Number</a>.
%e a(3) = 1: "one", a(4) = 0: "zero", a(5) = 3: "three", a(6) = 11: "eleven", a(7) = 15: "fifteen", etc.
%t (* first load Hans Havermann's text file a001477.txt and then *)
%t 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 *)
%t 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 *)
%o (PARI) A134629(n)=for(k=1,oo,A005589(k)==n&&return(k)) \\ _M. F. Hasler_, Feb 25 2018
%o (Python)
%o from num2words import num2words as n2w
%o from itertools import count, islice
%o def f(n): return sum(1 for c in n2w(n).replace(" and", "") if c.isalpha())
%o def agen(): # generator of terms
%o adict, n = dict(), 3
%o for k in count(0):
%o v = f(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(), 40))) # _Michael S. Branicky_, Feb 19 2023
%Y Cf. A005589, A052363, A080777.
%K nonn,word
%O 3,3
%A _Robert G. Wilson v_, Nov 04 2007
%E More terms and reworded name from _M. F. Hasler_, Feb 25 2018
|