Ctrl K

Ровно столько воды двумя вёдрами

Средняя
Есть два ведра объёмом first и second литров и неограниченный кран. Разрешены действия: - наполнить любое ведро доверху; - вылить всю воду из любого ведра; - переливать из одного ведра в другое, пока принимающее не наполнится или отдающее не опустеет. Верните True, если можно добиться того, чтобы в двух вёдрах вместе оказалось ровно goal литров, и False иначе.
Пример 1
first=4, second=9, goal=6 → True

Наполняем 9-литровое ведро и дважды отливаем из него по 4 литра в маленькое (выливая маленькое между разами) — в большом остаётся 1. Переливаем этот литр в маленькое, снова наполняем большое и доливаем маленькое до краёв (уходит 3 литра) — в большом 6.

Пример 2
first=6, second=10, goal=7 → False

Любой объём, который можно получить, кратен 2 — наибольшему общему делителю 6 и 10, поэтому 7 литров не набрать.

Пример 3
first=5, second=3, goal=8 → True
Ограничения
  • 1 ≤ first, second, goal ≤ 1000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПульт с четырьмя кнопками СредняяСамая длинная цепочка салюта СредняяЧерез парк в обход прудов СложнаяОсушение замкнутых прудов СредняяДерево глазами наблюдателя справа Средняя
загружаем Python…
Вход
first=4, second=9, goal=6
Ожидается
True

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 188 тестов на сервере, включая скрытые.