Задача
В некотором государстве сложение и вычитание обозначаются знаками "!" и "?", но вам неизвестно, какой знак какой операции соответствует. Каждая операция применяется к двум числам, но про вычитание вам неизвестно, вычитается левое число из правого или правое из левого. К примеру, выражение a?b обозначает одно из следующих: a – b, b – a или a + b. Вам неизвестно, как записываются числа в этом государстве, но переменные a, b и скобки есть и используются как обычно. Объясните, как с помощью них и знаков "!" и "?" записать выражение, которое гарантированно равно 20a – 18b.
Решение
Во-первых, заметим, что выражение (a ? a) ! (a ? a) всегда равно нулю. В дальнейшем мы можем использовать 0, подразумевая, что вместо него должно быть записано именно это выражение.
Выражение (x ? 0) ? (0 ? y) всегда равно x + y. Аналогично, теперь мы можем использовать операцию + с двумя аргументами.
Наконец, выражение 0 ? ((0 ! (x ! 0)) ? 0) всегда равно –x.
Теперь легко выписать искомое выражение:
Ответ
Ответ задачи отсутствует
Чтобы оставлять комментарии, войдите или зарегистрируйтесь