1 миллиардный уродливый или хемминговский номер?
Это 1-миллиардное уродливое число?
62565096724471903888424537973014890491686968126921250076541212862080934425144389 76692222667734743108165348546009548371249535465997230641841310549077830079108427 08520497989078343041081429889246063472775181069303596625038985214292236784430583 66046734494015674435358781857279355148950650629382822451696203426871312216858487 7816068576714140173718
У кого-нибудь есть код для обмена, который может это проверить? Спасибо!
2 ответа
этот SO ответ показывает код, способный его вычислить.
тестовая запись на ideone.com занимает 1,1 0,05 с в течение 10 9 (2016-08-18: основное ускорение из-за использования Int
вместо по умолчанию Integer
где это возможно, даже на 32-битной; дополнительные 20% благодаря твику, предложенному @GordonBGood, который снизил сложность размера полосы до O (n 1/3).
это дает ответ как ((1334,335,404),"6.21607575556559E+843")
т.е.
2 1334 * 3 335 * 5 404 ≈ 6.21607575556559 * 10 843.
(по совпадению, только две последние цифры в дробном числе неверны).
Это также означает, конечно, что в конце этого числа есть 404 нуля.