есть такая загадка:
У вас есть доступ в k-этажный небоскрёб и 2 идентичных яйца неизвестной птицы. Никаких данных о прочности скорлупы нет: яйцо может разбиться, упав с первого этажа, а может остаться целым, упав с сотого.
Ваша задача - определить, начиная с какого этажа яйца начинают разбиваться, за минимальное (в худшем случае) число бросков. В ходе эксперимента Вы можете разбить оба яйца, но запасных яиц нет.
у меня есть функция check которая получает аргумент высоту этажа который с него кинули яйцо и возвращает true если яйцо разбилось.
val check = fn : int -> bool
мне надо написать функцию minimalFloor в ML которая получает функцию check и возвращает минимальный этаж которы с него яйцо сломается.
val minimalFloor = fn : (int -> bool) -> int
например:
- minimalFloor check;
val it = 37 : int
спасибо
ml