Назад
Задача

В некотором государстве сложение и вычитание обозначаются знаками "!" и "?", но вам неизвестно, какой знак какой операции соответствует. Каждая операция применяется к двум числам, но про вычитание вам неизвестно, вычитается левое число из правого или правое из левого. К примеру, выражение a?b обозначает одно из следующих: ab, ba или a + b. Вам неизвестно, как записываются числа в этом государстве, но переменные a, b и скобки есть и используются как обычно. Объясните, как с помощью них и знаков "!" и "?" записать выражение, которое гарантированно равно 20a – 18b.

Решение

Во-первых, заметим, что выражение (a ? a) ! (a ? a) всегда равно нулю. В дальнейшем мы можем использовать 0, подразумевая, что вместо него должно быть записано именно это выражение.

Выражение (x ? 0) ? (0 ? y) всегда равно x + y. Аналогично, теперь мы можем использовать операцию + с двумя аргументами.

Наконец, выражение 0 ? ((0 ! (x ! 0)) ? 0) всегда равно –x.

Теперь легко выписать искомое выражение:

Ответ

Ответ задачи отсутствует

Чтобы оставлять комментарии, войдите или зарегистрируйтесь

Комментариев нет