Саша разрезал головку сыра весом 360 грамм на 10 кусков, среди которых могли быть равные, и съел самый маленький кусок (возможно, один из нескольких одинаковых самых маленьких). потом он разрезал один из кусков на 2 и съел самый маленький кусок из десяти. эту операцию (разрезание и съедание) он сделал еще раз. оказалось, что он съел целое количество грамм сыра. какое максимальное количество сыра он мог съесть? выведите ответ в граммах без букв, например, 67.

ногнео ногнео    2   11.07.2019 13:30    36

Ответы
кулибяка2 кулибяка2  06.08.2020 23:21
ответ: 359.

Решение. 
Начнём с простого наблюдения.

Лемма. Если на каком-то шаге все куски одинаковой массы m, то можно путём указанных операций сделать так, чтобы все куски стали массой m/2.
Доказательство. На первом шаге съедаем кусок массы m и разрезаем другой кусок массы m. Получится 8 кусков массы m и 2 куска массы m/2. Теперь 8 раз съедаем куски m/2 и распиливаем куски массы m.

Перейдём к собственно решению. Понятно, что Саша не мог съесть весь сыр. Поэтому, поскольку он съел целое число граммов сыра, он мог съесть не более, чем 360 - 1 = 359 граммов. Покажем, как он это мог сделать.

Пусть изначально головка сыра была разрезана так: 5 кусков по 512/9 г, 2 куска по 256/9 г, 1 кусок 128/9 г, 1 кусок 32/9 г, 1 кусок 8/9 г (легко проверить, что сумма всех масс равна 360).

Сначала съедим куски массой 8/9, 32/9, 128/9 и распилим три куска по 512/9 г. Останется 2 куска по 512/9 и 8 кусков по 256/9. Затем дважды съедим куски по 256/9 и разрежем оставшиеся куски по 512/9. После этого будет 10 кусков по 256/9.

Уменьшим размер каждого куска в 256 раз (воспользуемся 8 раз процессом, описанным в лемме). Тогда останутся 10 кусков массой 1/9 г. Съедаем один кусок и распиливаем любой оставшийся кусок. Несъеденная масса 9 * 1/9 = 1 г, значил, съел Саша 360 - 1 = 359 г сыра.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика