Предмет: Информатика,
автор: hampashhamzethanov
Сдать решение задачи 3-Водолей
Задача 3: Водолей
У исполнителя Водолей есть два сосуда: сосуд А объемом 3 литра и сосуд в объемом 7 литров. Также исполнитель Водолей умеет выполнять команды:
• наполнить сосуд А - сосуд наполняется водой до полного заполнения,
• наполнить сосуд В- сосуд наполняется водой до полного заполнения,
• опустошить сосуд А - вся вода из сосуда А выливается,
• опустошить сосуд В- вся вода из сосуда В выливается,
• перелить в В-вода из А переливается в В, пока не выльется полностью либо пока в Весть место, оставшаяся вода остается в сосуде А.
• перелить в А- вода из В переливается в А, пока не выльется полностью либо пока в А есть место, оставшаяся вода остается в сосуде в
У вас есть алгоритм для исполнителя Водолей из 10 команд, в которой не проставлены названия сосудов,
1 наполнить
2. перелить в
3. опустошить
4. наполнить
5. перелить в
6. опустошить
7. перелить в
8. опустошие
9, наполни
10. перелить в
Вы не можете влиять на последовательность команд, но можете менять названия сосудов, задавая соответственно. А — для первого сосуда и В- для второго.
Напишите последовательность названий сосудов, которые нужно подставить в указанный выше список команд, чтобы получить необходимое количество
литров в каждом из представленных ните случаев (в начальный момент выполнения алгоритма сосуды пусты)
Ответы
Автор ответа:
2
Ответ:
Короче, решение диофантова уравнения: Ax - By = N
1. наливаем в A, переливаем в B, пока B не наполнится
2. выливаем из B
3. переливаем остаток из A в B
повторяем пункты 1-3, пока уровень в A или B не станет равным N
если решений нет, то НОД (A, B) не делит N нацело, так что алгоритм зацикливается.
ak8263264:
спасибоооо
Похожие вопросы
Предмет: Русский язык,
автор: Mad23Max
Предмет: Русский язык,
автор: PollyDenisova
Предмет: Русский язык,
автор: marinav90
Предмет: Русский язык,
автор: vladtmb86
Предмет: Алгебра,
автор: NikNek228