Draugnar - I thought about that too but that would just be an adjustment to the radius - make the radius slightly larger than it really is to compensate for the empty space. I didn't want to look up the calculation for hexoganal close packing. But good point, just the same
Ghost - after seeing how far off my original calculation was based on your nk, I checked a boundry condition. You know that for any number greater than 1, n! < n^n, so I did 20B^20B just to see where the digits would be:
(2x10^10)^(2x10^10)
= 2^(2x10^10) x (10^10)^(2x10^10) // (xy)^z = x^z*y^z
= 2^20,000,000,000 x 10^(20x10^10) // (x^y)^z = x^(yz)
= 2^20,000,000,000 x 10^200,000,000,000
now to get the bases the same - we use the old power of 2 approx that 2^10 = 10^3 (where 1kB = 1024 bytes comes from)
= (2^10)^2,000,000,000 x 10^200,000,000,000
= (10^3)^2,000,000,000 x 10^200,000,000,000
= 10^6,000,000,000 x 10^200,000,000,000
= 10^206,000,000,000 //(a^x)(a^y) = a^(x+y)
and violla! 20B^20B is greater than 20B! and yet it has digits in the 200Billion range, much less than my original value and much closer to yours.
Congrats, you win the digits contest!! (But I get extra credit for showing my work!)