Факториал какого максимального числа можно сохранить? При хранении факториала некоторого натурального числа в k > 37 двоичных разрядах три старших бита были равны нулю, но факториал уже следующего числа сохранить в тех же k разрядах было невозможно. Позже было решено хранить в этих разрядах только значащие двоичные цифры факториала – без хвостовых нулей. Факториал какого максимального числа можно сохранить теперь. В случае, если правильных ответов несколько, то запишите ответ для минимально возможного значения k.

31 Янв 2020 в 19:47
166 +1
0
Ответы
1

Пусть n будет максимальным числом, факториал которого можно сохранить в k битах. Тогда факториал n+1 уже не помещается в k битах, поэтому (n+1)! требует k+1 бита. Обозначим количество бит, которые занимает факториал n как f(n). Таким образом, f(n) = k.

Так как три старших бита f(n) равны нулю, то длина (n+1)! не может быть равна k+1-3 = k-2 битам. Следовательно, (n+1)! занимает k-1 или k бит.

Учитывая, что любое натуральное число большее 3 имеет факториал, равный более чем 8, то (n+1)! требует k бит, и третий бит f(n+1) равен 1. Поэтому n+1 ≥ 6, и факториал 6, равный 720 = 1011011000 в двоичной системе счисления, занимает уже больше, чем k бит. Простейший способ хранить такой факториал – с использованием k+1 битов.

Таким образом, ответ: факториал 5 = 120 можно сохранить в 7 битах, но факториал 6 = 720 требует уже 10 битов.

18 Апр в 18:22
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 718 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир