Search code examples
verificationhamming-numbers

1 billionth ugly or hamming number?


Is this the 1 billionth ugly/hamming number?

62565096724471903888424537973014890491686968126921250076541212862080934425144389 76692222667734743108165348546009548371249535465997230641841310549077830079108427 08520497989078343041081429889246063472775181069303596625038985214292236784430583 66046734494015674435358781857279355148950650629382822451696203426871312216858487 7816068576714140173718

Does anyone have code to share that can verify this? Thanks!


Solution

  • This SO answer shows a code capable of calculating it.

    The test entry on ideone.com takes 1.1 0.05 sec for 109 (2016-08-18: main speedup due to usage of Int instead of the default Integer where possible, even on 32-bit; additional 20% thanks to the tweak suggested by @GordonBGood, bringing band size complexity down to O(n1/3)).

    It gives the answer as ((1334,335,404),"6.21607575556559E+843"), i.e.

        21334 * 3335 * 5404 ≈ 6.21607575556559 * 10843.

    (coincidentally, only two last digits in the fractional number above are incorrect).

    This also means, of course, that there are 404 zeroes at the end of this number, and that it has 844 digits in total. So no, the number you show isn't it.