Факториал какого максимального числа можно сохранить? При хранении факториала некоторого натурального числа в k > 37 двоичных разрядах три старших бита были равны нулю, но факториал уже следующего числа сохранить в тех же k разрядах было невозможно. Позже было решено хранить в этих разрядах только значащие двоичные цифры факториала – без хвостовых нулей. Факториал какого максимального числа можно сохранить теперь. В случае, если правильных ответов несколько, то запишите ответ для минимально возможного значения k.
Для такого решения нам нужно найти такое наименьшее k, что количество бит в двоичной записи факториала n больше k.
Мы знаем, что для n=37 количество двоичных разрядов в факториале больше k, а для n=38 такое число не больше k.
Рассмотрим n=38. Факториал 38! равен 523022617466601111760007224100074291200000000. В двоичной записи это число занимает 128 бит, а значит k=128.
Теперь рассмотрим n=39. Факториал 39! равен 20397882081197443358640281739902897356800000000. В двоичной записи это число занимает 130 бит, что больше k=128.
Следовательно, факториал 38! можно хранить в 128 двоичных разрядах, а факториал 39! уже нет. Таким образом, максимальное число, факториал которого можно сохранить в к битах (включая только значащие цифры), равно 38.
Для такого решения нам нужно найти такое наименьшее k, что количество бит в двоичной записи факториала n больше k.
Мы знаем, что для n=37 количество двоичных разрядов в факториале больше k, а для n=38 такое число не больше k.
Рассмотрим n=38. Факториал 38! равен 523022617466601111760007224100074291200000000. В двоичной записи это число занимает 128 бит, а значит k=128.
Теперь рассмотрим n=39. Факториал 39! равен 20397882081197443358640281739902897356800000000. В двоичной записи это число занимает 130 бит, что больше k=128.
Следовательно, факториал 38! можно хранить в 128 двоичных разрядах, а факториал 39! уже нет. Таким образом, максимальное число, факториал которого можно сохранить в к битах (включая только значащие цифры), равно 38.