August 1st, 2019

Моти-мотическоэ

По интернету гуляет математическая загадка — каков результат выражения 8 / 2(2+2)?

У одних получается 16, у других 1. Сломаны уже тысячи виртуальных копий.

Очевидно, что ответ получается разным из-за разной интерпретации последовательности математических действий. Что делать первым — делить 8 на 2 или умножать 2 на (2 + 2)?

Ответ, что характерно, может быть разным в отличие от страны. В США и России, например, подразумеваемое умножение (как тут, 2(2 + 2)) — стоит по приоритету выше, чем умножение обычное или деление, поэтому ответ должен быть 1.

А в других странах (ИМХО, в Британии) у подразумеваемого умножения нет специального статуса, и, соответственно, в таких случая мы просто проводим операции слева направо, и ответ — 16.

Американо-российский вариант мне кажется более логичным: ведь 2(2 + 2), используя дистрибутивность, можно записать как 4 + 4, и выражение примет вид 8 / (4 + 4), и ответ, естественно, будет 1.

А вообще эта загадка, как и множество других головоломок (например, про тот несчастный самолёт на беговой дорожке), не стоит выеденного яйца. Потому что выражение записано через одно место, и интерпретировать его можно по-разному, отсюда и интернетные битвы. Если записать его так, чтобы исключить возможность другого прочтения, то и спорить было бы не о чем.

Кстати, если запрограммировать это выражение (я использовал Питон, Джаву, Сишарп) — то выдаётся один и тот же ответ — 16. Потому что нет подразумеваемого умножения в этих языках (а в каких есть?), и оно тупо делает операции слева направо, по-английски.

Mirrored from Лабораторный Журнал №6.