0
0 комментариев

На мельницу поступил заказ на обработку зерна.

Работникам необходимо подготовить и отправить один ящик с 130 кг зерна. Отмерьте зерно, используя 4 ящика, в которые помещается 150, 90, 80 и 30 кг. Ящики вместимостью 150, 80, 30 кг полные, а ящик вместимостью 90 кг пуст. Разрешается пересыпать зерно из одной ёмкости в другую, пока в первой не кончится зерно или второй ящик не заполнится целиком.

От вас требуется составить как можно более короткий алгоритм действий работников мельницы. Обозначим ящики вместимостью 150, 90, 80, 30 кг буквами A, B, C, D соответственно. Для записи алгоритма используются команды вида X>Y (вместо X и Y должны быть два различных символа из A, B, C, D), которые означают, что из ящика X происходит пересыпание зерна в ящик Y. Например, следующая последовательность команд

 

D>B

A>D

C>A

означает, что из ящика вместимостью 30 кг пересыпают зерно в ящик на 90 кг, затем из ящика на 150 кг зерно отсыпается в ящик на 30 кг, затем из ящика вместимостью 80 кг отсыпается зерно в ящик на 150 кг. После такой последовательности мы имеем вид 150 30 50 30 по всем ящикам.

Arnfinn пометил как избранный вопрос 24.10.2023