Задача
Есть три печатающих автомата. Первый по карточке с числамиaиbвыдает карточку с числамиa + 1 иb + 1; второй по карточке с четными числамиaиbвыдает карточку с числамиa/2 иb/2; третий автомат по паре карточек с числамиa,bиb,cвыдает карточку с числамиa,c. Все автоматы возвращают заложенные в них карточки. Можно ли с помощью этих автоматов из карточки (5, 19) получить карточку (1, 1988)?
Решение
Попробуем промоделировать сам процесс решения задачи.Итак, внешний вид задачи: дан набор разрешенных операций и нас просят выяснить, можно ли из одной карточки получить другую - наталкивает нас на то, что нужно искать инвариант. Начнем поиск.1-я операция: (a, b) -> (a + 1, b + 1). Что же не меняется при этой операции? Ну, конечно же, разность чисел на карточке: (a + 1) - (b + 1) = a - b. Но вот уже 2-я операция меняет разность: a/2 - b/2 = (a - b)/2 - она делит ее пополам. 3-я операция складывает эти разности: a - c = (a - b) + (b - c).Все это приводит нас к мысли, что, видимо, инвариантом является не сама разность, а... что же? Что можно сделать с этим числом? Вполне возможно, что ответ на этот вопрос не сразу придет вам на ум. Ну что же, займемся небольшим исследованием. Наудачу попробуем получить какие-то карточки из данной:
- (5, 19) -> (6, 20)
- (6, 20) -> (3, 10)
- (3, 10) -> (20, 27)
- (6, 20), (20, 27) -> (6, 27)
Ответ
Ответ задачи отсутствует
Чтобы оставлять комментарии, войдите или зарегистрируйтесь