Исполнитель Водолей. Переливает воду между сосудами. Сосуды можно наполнять до верха или...

0 голосов
42 просмотров

Исполнитель Водолей. Переливает воду между сосудами. Сосуды можно наполнять до верха или выливать из них воду на землю полностью. Пусть объем сосуда А равен 3 литрам, а объем сосуда В - 2 литрам. Напишите программу с использованием СКИ исполнителя отмеряющую 1 литр воды в сосуде А.


Информатика (26 баллов) | 42 просмотров
Дан 1 ответ
0 голосов

это, короче, решение диофантова уравнения: Ax - By = N

1. наливаем в A, переливаем в B, пока B не наполнится

2. выливаем из B

3. переливаем остаток из A в B

повторяем пункты 1-3, пока уровень в A или B не станет равным N

если решений нет, то НОД (A, B) не делит N нацело, так что алгоритм зацикливается.

(33 баллов)