ИЛИ МОЖЕТ ЗАДАЧА НЕ ИМЕЕТ ПРОГРАММНОГО РЕШЕНИЯ ? (ТЕОРИЯ)
$f = 100;
$max = 14;
$x = 5;
$try = 0;
$b = 1;
for ($n = 8; $n > 0; $n--){
if ($max != $x) {
$try = $try + 1;
for($a = $b; $a < ($b + $max) - 1 ; $a++ ){
if($a == $x) {
$try = $try + 1;
echo $try."\n" ;
exit;
} else {
$try++;
continue;
}
}
} else {
$b = $b + 14;
$max--;
}
}
//Пример: пусть первая группа будет размером 10 этажей (этажи 1-10).
//Следуя тому же алгоритму что и раньше - кидаем первое яйцо с 10-го этажа.
//- если разбилось, перебираем этажи с 1-го по 9-й. Всего нам понадобится не больше (1 + 9) <= 10 бросков.
//- если осталось целым, переходим к следущей группе, но уменьшаем размер группы на 1 этаж,
//т.е. следущая группа будет 11-19 (9 этажей), а не 11-20 (10 этажей) как в предыдущем алгоритме.
// Кидаем яйцо с верхнего этажа группы (19):
//-- если разбилось, то перебираем этажи с 11 по 18 (8 этажей).
//Всего будет не больше (2 броска для определения группы + 8 этажей) <= опять 10 бросков !
//-- если осталось целым, то переходим к следущей группе, но опять уменьшаем размер на 1 этаж: 20-27 (8 этажей).
//Кидаем яйцо с 27 этажа:
//--- если разбилось, то перебираем этажи 20-26 (3 "групповых" броска + 7 этажей) и опять не больше 10 бросков !
//--- если осталось целым, повторяем алгоритм...