Деление до конца без штрафов возможно, если количество орехов в кучке будет какой-либо степенью двойки (2, 4, 8, 16, 32, 64, 128, 256, 512). Число 577 - нечетно, следовательно, его можно представить <четное>+<нечетное>. При делении 576+1 получим первый штраф. Число 576 не является степенью двойки, поэтому необходимо опять поделить орехи на неравные кучки: 512+64 (второй штраф). 512 и 64 - степени двойки, значит дальнейшее разделение можно выполнить без штрафов. Можно делить, например, так: 1. 512 и 65 орехов (штраф 1 рубль) 2. 65 делим на 2 кучки: 64 и 1 (штраф 1 рубль) 3 и все следующие операции: кучки из 512 и 64 орехов делим на равные кучки (512: 256 и 256, 256: 128 и 128; 64: 32 и 32, 32: 16 и 16 и т.д.). Получаем, что минимальная сумма штрафа = 2 рубля.
skvorec3424
26.04.2023
Имеет смысл воспользоваться методом "дихотомии" (деления пополам). Если с днем рождения все понятно: в году максимум 366 дней и требуется определить нужный, то непонятно, как быть с загаданным учеником - их условно пронумеровать и спрашивать о номере? Поэтому принимаем такое решение. Мы делим список учеников на два части (например, написав сведения о каждом на отдельной карточке и разложив эти карточки на две равные кучки по 560/2 = 280 человек в каждой. Затем задаем вопрос: загаданный ученик находится в первой кучке? По результатам ответа кучку, содержащую загаданного ученика, снова делим пополам. Процесс повторяем пока не останется одна карточка. Аналогично поступаем с датами рождения. Тогда количество вопросов определится, как степень числа 2, дающая число, не меньшее количества учеников (дней рождения). 2⁹ < 560 < 2¹⁰, поэтому ученик будет угадан максимум за 10 вопросов. 2⁸ < 366 < 2⁹, поэтому день рождения будет угадан максимум за 9 вопросов. В сумме потребуется задать не более 9+10 = 19 вопросов.
Конечно, можно придумать более продвинутую систему, когда на карточках учеников будут указаны одновременно и даты их рождения, тогда количество вопросов можно снизить.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Напишите программу на языке Scratch который кот проходит к точке 0, 100 и потом обратно в точке помагитеее
Можно делить, например, так:
1. 512 и 65 орехов (штраф 1 рубль)
2. 65 делим на 2 кучки: 64 и 1 (штраф 1 рубль)
3 и все следующие операции: кучки из 512 и 64 орехов делим на равные кучки (512: 256 и 256, 256: 128 и 128; 64: 32 и 32, 32: 16 и 16 и т.д.).
Получаем, что минимальная сумма штрафа = 2 рубля.