Задача 1.
Имеются два сосуда — трехлитровый и пятилитровый.
Нужно, пользуясь этими
сосудами, получить 1, 2, 3, 4, 5, 6, 7 и 8 литров воды.
В нашем распоряжении
водопроводный кран и раковина, куда можно выливать воду.
Решение.
Перечислим все возможные...
More
Задача 1.
Имеются два сосуда — трехлитровый и пятилитровый.
Нужно, пользуясь этими
сосудами, получить 1, 2, 3, 4, 5, 6, 7 и 8 литров воды.
В нашем распоряжении
водопроводный кран и раковина, куда можно выливать воду.
Решение.
Перечислим все возможные операции, которые могут быть использованы нами,
и введем для них следующие сокращенные обозначения: НБ — наполнить больший сосуд
водой из-под крана; НМ — наполнить меньший сосуд водой из-под крана; ОБ —
опорожнить больший сосуд, вылив воду в раковину; ОМ — опорожнить меньший сосуд,
вылив воду в раковину; Б→М — перелить из большего в меньший, пока больший сосуд не
опустеет или меньший сосуд не наполнится; М→Б — перелить из меньшего в больший,
пока меньший сосуд не опустеет или больший сосуд не наполнится.
Выделим среди
перечисленных команд только три: НБ, Б→М, ОМ.
Кроме этих трех команд рассмотрим
еще две вспомогательные команды: Б = 0 ? — посмотреть, пуст ли больший сосуд; М = З ?
— посмотреть, наполнен ли малый сосуд.
В зависимост
Less