
Сдать решение задачи 3-Водолей Задача 3: Водолей У исполнителя Водолей есть два сосуда: сосуд А
объемом 3 литра и сосуд в объемом 7 литров. Также исполнитель Водолей умеет выполнять команды: • наполнить сосуд А - сосуд наполняется водой до полного заполнения, • наполнить сосуд В- сосуд наполняется водой до полного заполнения, • опустошить сосуд А - вся вода из сосуда А выливается, • опустошить сосуд В- вся вода из сосуда В выливается, • перелить в В-вода из А переливается в В, пока не выльется полностью либо пока в Весть место, оставшаяся вода остается в сосуде А. • перелить в А- вода из В переливается в А, пока не выльется полностью либо пока в А есть место, оставшаяся вода остается в сосуде в У вас есть алгоритм для исполнителя Водолей из 10 команд, в которой не проставлены названия сосудов, 1 наполнить 2. перелить в 3. опустошить 4. наполнить 5. перелить в 6. опустошить 7. перелить в 8. опустошие 9, наполни 10. перелить в Вы не можете влиять на последовательность команд, но можете менять названия сосудов, задавая соответственно. А — для первого сосуда и В- для второго. Напишите последовательность названий сосудов, которые нужно подставить в указанный выше список команд, чтобы получить необходимое количество литров в каждом из представленных ните случаев (в начальный момент выполнения алгоритма сосуды пусты)

Ответы на вопрос

Ответ:
Короче, решение диофантова уравнения: Ax - By = N
1. наливаем в A, переливаем в B, пока B не наполнится
2. выливаем из B
3. переливаем остаток из A в B
повторяем пункты 1-3, пока уровень в A или B не станет равным N
если решений нет, то НОД (A, B) не делит N нацело, так что алгоритм зацикливается.



Задача 3: Водолей
У исполнителя Водолей есть два сосуда: сосуд А объемом 3 литра и сосуд В объемом 7 литров. Исполнитель Водолей может выполнять следующие команды: - наполнить А: сосуд А наполняется водой до полного заполнения, - наполнить В: сосуд В наполняется водой до полного заполнения, - опустошить А: вся вода из сосуда А выливается, - опустошить В: вся вода из сосуда В выливается, - перелить в В: вода из А переливается в В, пока не выльется полностью или пока в В есть место, оставшаяся вода остается в сосуде А, - перелить в А: вода из В переливается в А, пока не выльется полностью или пока в А есть место, оставшаяся вода остается в сосуде В.
У вас есть алгоритм для исполнителя Водолей из 10 команд, в котором не проставлены названия сосудов: 1. наполнить 2, 2. перелить в 3, 3. опустошить, 4. наполнить, 5. перелить в 6, 6. опустошить, 7. перелить в 8, 8. опустошить, 9. наполнить, 10. перелить в.
Вы не можете влиять на последовательность команд, но можете менять названия сосудов, задавая соответственно А — для первого сосуда и В — для второго.
Чтобы получить необходимое количество литров в каждом из представленных ниже случаев (в начальный момент выполнения алгоритма сосуды пусты), вам нужно подставить последовательность названий сосудов в указанный выше список команд.
Решение:
1. В первом случае нужно получить 4 литра в сосуде В и 6 литров в сосуде А. Для этого можно использовать следующую последовательность названий сосудов: 1. наполнить А, 2. перелить в В, 3. опустошить А, 4. наполнить А, 5. перелить в В, 6. опустошить А, 7. перелить в В, 8. опустошить В, 9. наполнить А, 10. перелить в В.
2. Во втором случае нужно получить 5 литров в сосуде В и 5 литров в сосуде А. Для этого можно использовать следующую последовательность названий сосудов: 1. наполнить В, 2. перелить в А, 3. опустошить В, 4. наполнить В, 5. перелить в А, 6. опустошить В, 7. перелить в А, 8. опустошить А, 9. наполнить В, 10. перелить в А.
3. В третьем случае нужно получить 6 литров в сосуде В и 4 литра в сосуде А. Для этого можно использовать следующую последовательность названий сосудов: 1. наполнить В, 2. перелить в А, 3. опустошить В, 4. наполнить В, 5. перелить в А, 6. опустошить В, 7. перелить в А, 8. опустошить А, 9. наполнить В, 10. перелить в А.
4. В четвертом случае нужно получить 7 литров в сосуде В и 3 литра в сосуде А. Для этого можно использовать следующую последовательность названий сосудов: 1. наполнить В, 2. перелить в А, 3. опустошить В, 4. наполнить В, 5. перелить в А, 6. опустошить В, 7. перелить в А, 8. опустошить А, 9. наполнить В, 10. перелить в А.
5. В пятом случае нужно получить 8 литров в сосуде В и 2 литра в сосуде А. Для этого можно использовать следующую последовательность названий сосудов: 1. наполнить В, 2. перелить в А, 3. опустошить В, 4. наполнить В, 5. перелить в А, 6. опустошить В, 7. перелить в А, 8. опустошить А, 9. наполнить В, 10. перелить в А.
Надеюсь, это поможет вам решить задачу! Если у вас возникнут еще вопросы, не стесняйтесь задавать.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili