-4

これは 10 億番目の醜い/ハミング数ですか?

62565096724471903888424537973014890491686968126921250076541212862080934425144389 76692222667734743108165348546009548371249535465997230641841310549077830079108427 08520497989078343041081429889246063472775181069303596625038985214292236784430583 66046734494015674435358781857279355148950650629382822451696203426871312216858487 7816068576714140173718

これを確認できる共有するコードを誰かが持っていますか? ありがとう!

4

2 に答える 2

1

This SO answerは、それを計算できるコードを示しています。

ideone.comのテスト エントリは、 10 9で1.1 0.05秒かかります(2016-08-18: 32 ビットでも、可能な場合はデフォルトの代わりにを使用することによる主な高速化; @ によって提案された微調整のおかげでさらに 20% GordonBGood、バンド サイズの複雑さを O(n 1/3 ))に下げます。 IntInteger

それは答えを与える((1334,335,404),"6.21607575556559E+843")、すなわち

    2 1334 * 3 335 * 5 404 ≈ 6.21607575556559 * 10 843 .

(偶然にも、上記の小数の最後の 2 桁のみが正しくありません)。

これはもちろん、この数字の末尾に 404 個のゼロがあり、合計で 844 桁であることも意味します。いいえ、あなたが示す数字はそうではありません。

于 2016-06-15T10:37:39.017 に答える