Эта задача с математикой седьмого класса ставит в тупик обычных людей. Программист решает противоречие за минуту. На чьей стороне вы?
Следите внимательно за вычислениями:
- 1 = 1.
- Одну единицу обозначим за Х, вторую за Y, получим Х = Y.
- Умножаем обе части на Х: Х² = XY.
- Из обеих частей тождества отнимем Y², получим Х² – Y² = ХY – Y².
- Левую часть разложим как разность квадратов, а в правой вынесем Y за скобку: (Х – Y)(Х + Y) = У(Х – Y).
- Сокращаем обе части на (Х – Y), получаем: Х + Y = Y.
- Подставим вместо Х и У единицы, получим: 1 + 1 = 1, т. е. 2 = 1.
Как такое возможно, если мы на каждом шаге всё делали правильно?
Путаница происходит из-за того, что мы с самого начала работаем с иксом и игреком как с обычными неизвестными, но это неправильно. Мы с вами знаем, что они равны единице, и это нужно держать в голове на каждом этапе.
Если вы так и не нашли, в чём тут подвох — посмотрите внимательно на шаг номер 4, где мы отнимаем У² от обеих частей. С точки зрения математики всё прилично, но мы-то с вами знаем, что это просто единицы и у нас получается такое: 1 – 1 = 1 – 1, или 0 = 0. Когда с обеих сторон у нас ноль, дальше мы можем умножать и раскладывать их как угодно, потому что ноль никуда не денется.
Сама ошибка нас ждёт только на шестом шаге, когда мы сокращаем обе части на (Х – У). Если мы поставим вместо них единицы, как договорились в шаге номер 2, то получится, что нам нужно сокращать (делить) на ноль: (1 – 1) = 0.
Но на ноль делить нельзя, и как раз эта лазейка позволяет в задаче доказать, что 2 = 1, хотя всё должно было прекратиться на шестом шаге.
? Именно эту ошибку про деление на ноль часто получают программисты, которые начинают практиковаться в операциях над числами. И это сразу учит их при каждом делении предусматривать такой вариант.
Поэтому, если в вас есть задатки программиста, значит, вы тоже с лёгкостью решили эту задачу.