Friday, April 07, 2017

Counting t-free ordinals

Yesterday I introduced written-out English ordinals that lacked the letter "t" and I asked how many there are less than "one vigintillionth". I have come to conclude that the total number of t-free ordinals may be expressed by (c+1)^x*o, where 'c' is the number of t-free cardinals less than 1000, 'x' is the number of t-free -illions through which we traverse, and 'o' is the number of t-free ordinals less than 1000.

c = 55   (1, 4, 5, 6, 7, 9, 11, 100, 101, 104, 105, 106, 107, 109, 111, 400, 401, 404, 405, 406, 407, 409, 411, 500, 501, 504, 505, 506, 507, 509, 511, 600, 601, 604, 605, 606, 607, 609, 611, 700, 701, 704, 705, 706, 707, 709, 711, 900, 901, 904, 905, 906, 907, 909, 911)

x = 10   (10^6, 10^9, 10^15, 10^30, 10^33, 10^36, 10^39, 10^48, 10^51, 10^60)

o =  7   (2, 102, 402, 502, 602, 702, 902)

So we have 56^10*7 = 2123138423672799232.

The latest version of Mathematica has a built-in IntegerName function that does both cardinals and ordinals:

count1[ncard_] :=
Length[Select[Range[10^(ncard - 1), 10^ncard - 1],
StringFreeQ[IntegerName[#, "Words"], "t"] &]];
m = {count1[1], count1[2], count1[3]}

{6, 1, 48}

... The number of t-free cardinals of 1-digit, 2-digit, and 3-digit base-ten numbers.

count2[nord_] :=
Length[Select[Range[10^(nord - 1), 10^nord - 1],
StringFreeQ[IntegerName[#, "Ordinal"], "t"] &]];
s = {count2[1], count2[2], count2[3]}

{1, 0, 6}

... The number of t-free ordinals of 1-digit, 2-digit, and 3-digit base-ten numbers.

Do[If[StringFreeQ[IntegerName[10^(3*i), "Words"], "t"],
s = Join[s, m*Total[s]], s = Join[s, {0, 0, 0}]], {i, 21}]; s

{1, 0, 6, 0, 0, 0, 42, 7, 336, 2352, 392, 18816, 0, 0, 0, 131712, 21952, 1053696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7375872, 1229312, 59006976, 413048832, 68841472, 3304390656, 23130734592, 3855122432, 185045876736, 1295321137152, 215886856192, 10362569097216, 0, 0, 0, 0, 0, 0, 72537983680512, 12089663946752, 580303869444096, 4062127086108672, 677021181018112, 32497016688869376, 0, 0, 0, 0, 0, 0, 227479116822085632, 37913186137014272, 1819832934576685056, 0, 0, 0}

... The number of t-free ordinals of 1-digit to 66-digit base-ten numbers. Finally:

Total[s]

2123138423672799232

IntegerName[%, "Words"]

two quintillion, one hundred twenty-three quadrillion, one hundred thirty-eight trillion, four hundred twenty-three billion, six hundred seventy-two million, seven hundred ninety-nine thousand, two hundred thirty-two

Interestingly, Mathematica has attempted to bridge the gap between the dictionary large-number names up to 10^63 (one vigintillion) and the next dictionary entry at 10^303 (one centillion):

Table[{i, IntegerName[10^i, "Words"]}, {i, 63, 306, 3}] // TableForm

63 one vigintillion
66 one unvigintillion
69 one duovigintillion
72 one trevigintillion
75 one quattuorvigintillion
78 one quinvigintillion
81 one sexvigintillion
84 one septenvigintillion
87 one octovigintillion
90 one novemvigintillion
93 one trigintillion
96 one untrigintillion
99 one duotrigintillion
102 one trestrigintillions
105 one quattuortrigintillions
108 one quintrigintillions
111 one sextrigintillions
114 one septrigintillions
117 one octotrigintillions
120 one novemtrigintillions
153 one quinquagintillions
156 one unquinquagintillions
159 one duoquinquagintillions
162 one tresquinquagintillions
165 one quattuorquinquagintillions
168 one quinquinquagintillions
171 one sexquinquagintillions
174 one septenquinquagintillions
177 one octoquinquagintillions
180 one novemquinquagintillions
183 one sexagintillions
186 one unsexagintillions
189 one duosexagintillions
192 one tresexagintillions
195 one quattuorsexagintillions
198 one quinsexagintillions
201 one sesexagintillions
204 one septensexagintillions
207 one octosexagintillions
210 one novemsexagintillions
213 one septuagintillions
216 one unseptuagintillions
219 one duoseptuagintillions
222 one treseptuagintillions
225 one quattuorseptuagintillions
228 one quinseptuagintillions
231 one seseptuagintillions
234 one septenseptuagintillions
237 one octoseptuagintillions
240 one novemseptuagintillions
243 one octogintillions
246 one unoctogintillions
249 one duooctogintillions
252 one tresoctogintillions
255 one quattuoroctogintillions
258 one quintoctogintillions
261 one sexoctogintillions
264 one septenoctogintillions
267 one octoctogintillions
270 one novoctogintillions
273 one nonagintillions
276 one unonagintillions
279 one duononagintillions
282 one trenonagintillions
285 one quattuornonagintillions
288 one quinonagintillions
291 one senonagintillions
294 one septenonagintillions
297 one octononagintillions
300 one novenonagintillions
303 one centillions
306 one billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion

Notice the terminal "s" for 10^102 to 10^303. I've alerted Wolfram to the bug. Then, starting at 10^306, all hell breaks loose!