Где ошибка?

Эта зада­ча с мате­ма­ти­кой седь­мо­го клас­са ста­вит в тупик обыч­ных людей. Про­грам­мист реша­ет про­ти­во­ре­чие за мину­ту. На чьей сто­роне вы?

Сле­ди­те вни­ма­тель­но за вычис­ле­ни­я­ми:

  1. 1 = 1.
  2. Одну еди­ни­цу обо­зна­чим за Х, вто­рую за Y, полу­чим Х = Y.
  3. Умно­жа­ем обе части на Х: Х² = XY.
  4. Из обе­их частей тож­де­ства отни­мем Y², полу­чим Х² – Y² = ХY – Y².
  5. Левую часть раз­ло­жим как раз­ность квад­ра­тов, а в пра­вой выне­сем Y за скоб­ку: (Х – Y)(Х + Y) = У(Х – Y).
  6. Сокра­ща­ем обе части на (Х – Y), полу­ча­ем: Х + Y = Y.
  7. Под­ста­вим вме­сто Х и У еди­ни­цы, полу­чим: 1 + 1 = 1, т. е. 2 = 1.

Как такое воз­мож­но, если мы на каж­дом шаге всё дела­ли пра­виль­но?

Решение

Пута­ни­ца про­ис­хо­дит из-за того, что мы с само­го нача­ла рабо­та­ем с иксом и игре­ком как с обыч­ны­ми неиз­вест­ны­ми, но это непра­виль­но. Мы с вами зна­ем, что они рав­ны еди­ни­це, и это нуж­но дер­жать в голо­ве на каж­дом эта­пе.

Если вы так и не нашли, в чём тут под­вох — посмот­ри­те вни­ма­тель­но на шаг номер 4, где мы отни­ма­ем У² от обе­их частей. С точ­ки зре­ния мате­ма­ти­ки всё при­лич­но, но мы-то с вами зна­ем, что это про­сто еди­ни­цы и у нас полу­ча­ет­ся такое: 1 – 1 = 1 – 1, или 0 = 0. Когда с обе­их сто­рон у нас ноль, даль­ше мы можем умно­жать и рас­кла­ды­вать их как угод­но, пото­му что ноль нику­да не денет­ся.

Сама ошиб­ка нас ждёт толь­ко на шестом шаге, когда мы сокра­ща­ем обе части на (Х – У). Если мы поста­вим вме­сто них еди­ни­цы, как дого­во­ри­лись в шаге номер 2, то полу­чит­ся, что нам нуж­но сокра­щать (делить) на ноль: (1 – 1) = 0.

Но на ноль делить нель­зя, и как раз эта лазей­ка поз­во­ля­ет в зада­че дока­зать, что 2 = 1, хотя всё долж­но было пре­кра­тить­ся на шестом шаге.

? Имен­но эту ошиб­ку про деле­ние на ноль часто полу­ча­ют про­грам­ми­сты, кото­рые начи­на­ют прак­ти­ко­вать­ся в опе­ра­ци­ях над чис­ла­ми. И это сра­зу учит их при каж­дом деле­нии преду­смат­ри­вать такой вари­ант.

Поэто­му, если в вас есть задат­ки про­грам­ми­ста, зна­чит, вы тоже с лёг­ко­стью реши­ли эту зада­чу.

Делить на ноль нельзя
Но мож­но полу­чить прак­ти­ку про­грам­ми­ро­ва­ния в Прак­ти­ку­ме. Пер­вые 20 часов бес­плат­но — это­го хва­тит, что­бы понять, насколь­ко вам это близ­ко. Будем вам рады!