Путеводитель для влюбленных в математику Шейнерман Эдвард
Таким образом, нам придется проделать максимум 99 99 = 9801 операцию. Это гораздо лучше первого метода, но все еще неэффективно. Если сравнение и смена позиции требует двух секунд, я закончу спустя пять часов. Это никуда не годится.
И вот я в расстроенных чувствах выхожу из кабинета, чтобы развеяться. В коридоре я встречаю двух постдоков, которые работают под моим научным руководством. Зловещая улыбка змеится на моих губах. Я спешу обратно в кабинет, делю стопку неотсортированных тетрадей пополам и даю по 50 тетрадей каждому постдоку. «Вот вам стопка тетрадей, – говорю я. – Пожалуйста, рассортируйте их по алфавиту и принесите ко мне в кабинет, когда закончите». После чего с воодушевлением возвращаюсь к основной работе[129].
Мне предстоит доделать сортировку, когда постдоки выполнят задание. Нужно превратить две упорядоченные стопки в одну. Насколько это будет трудно? Допустим, у меня есть две стопки тетрадей в алфавитном порядке. Я смотрю на верхние тетради в той и другой стопке, выбираю первую по алфавиту и кладу в итоговую стопку. Диаграмма иллюстрирует процесс.
Когда одна из стопок иссякает, я просто-напросто кладу оставшуюся в конец итоговой стопки. В худшем случае придется проделать 99 операций. Это потребует всего несколько минут!
Но как насчет моих постдоков? У каждого стопка с 50 тетрадями. Постдоки – люди смышленые, поэтому не станут сортировать тетради самостоятельно. Они, в свою очередь, поделят свои стопки пополам (таким образом, в каждой окажется по 25 тетрадей) и передоверят сортировку аспирантам! Когда те закончат, постдокам останется соединить две отсортированные стопки по 25 тетрадей в одну общую по 50. Это потребует максимум 49 операций.
Но четыре аспиранта тоже не дураки. Они делят свои стопки на две части (в одной 12, в другой 13 тетрадей) и находят восемь старшекурсников, чтобы передоверить работу. В результате каждому аспиранту остается соединить две маленькие стопки и отдать их постдокам.
Как старшекурсники сортируют тетради? Несложно догадаться: они делят свои стопки на две части (в одной 6 тетрадей, в другой 7), ловят 16 третьекурсников и отдают им эти стопки. Те находят 32 второкурсника и отдают им раздербаненные стопки (в одних по 3, в других по 4 тетради). Наконец, второкурсники отлавливают 64 первокурсника и отдают им стопки по 1 и по 2 тетради. Первокурсникам делать нечего: они быстро сортируют свою часть и отдают обратно.
Очевидно, эта «схема Понци[130]» экономит мое время, но насколько она эффективна в целом? Посмотрим, как много операций она потребует в худшем случае. Занесем все данные в таблицу:
Максимальное количество операций оказывается существенно меньше, чем при сортировке пузырьковым методом.
К несчастью, в этой схеме есть изъян: у меня сейчас нет постдоков! Так что вместо вербовки целой армии помощников придется работать самому.
Для начала я найду большой незагроможденный стол. Я поделю стопку из 100 тетрадей пополам и положу две стопки по краям стола. Как я их отсортирую? По тому же алгоритму! Поделю две стопки по 50 тетрадей на четыре по 25, а их буду сортировать тем же методом. В худшем случае понадобится 645 операций. Правда, на сей раз мне придется действовать в одиночку. Однако это лучше, чем почти что 10 000 операций при сортировке пузырьковым методом.
Словарное определение не должно включать определяемого слова. Вообразите, что вы ищете в словаре слово оскудение и находите такое определение:
Оскудение: результат оскудения[131].
Что за чушь! Однако наш алгоритм сортировки и слияния грешит именно этой ссылкой на самого себя. Вот более точное определение.
Алгоритм сортировки и слиянияНа входе: объекты a1, a2, a3, …, an.
На выходе: те же объекты в отсортированном виде.
1. Если n = 1, сортировка закончена. Пускаем данные на выход. В противном случае переходим к пункту 2.
2. Поделить множество объектов на равные подмножества, если их количество четно, или на подмножества, отличающиеся на единицу, если количество нечетно. Использовать алгоритм сортировки и слияния.
3. Соединить подмножества[132] и пустить результат на выход.
Алгоритм, ссылающийся сам на себя, называют рекурсивным. В отличие от неудачного определения слова оскудение, наш алгоритм работает, потому что рано или поздно дойдет до конечной точки. Когда-нибудь множество объектов сведется к одному, и больше не придется проделывать процедуру заново. Поэтому нет опасности уйти в «бесконечный цикл».
Каково наибольшее среди чисел, на которые нацело делятся одновременно 986 и 748? Простейший способ ответить на вопрос – перепробовать все варианты. Разумеется, 986 и 748 делятся на 1. Несложно видеть, что на 2 они тоже делятся. Но ни то ни другое число не делится на 3. Одно из них, 748, делится на 4, а другое нет.Нам «всего-навсего» нужно перебрать все делители и сравнить их. Мы остановимся после 748, потому что дальше числа не могут быть делителями 748. Наконец мы выясним, что у 748 и 986 четыре общих делителя: 1, 2, 17 и 34. Наибольший общий делитель 748 и 986 равен 34. Для любых положительных целых чисел a и b запись НОД (a, b) означает их наибольший общий делитель[133].
Описанный выше метод дает незамысловатый и неоспоримый алгоритм поиска наибольшего общего делителя. Его слабая сторона – неэффективность. Для поиска НОД двух трехзначных чисел придется перебрать сотни вариантов. Может быть, есть что-нибудь попроще?
Присмотримся к числам 986 и 748 повнимательней. Мы ищем наибольший общий делитель, поэтому естественно разложить оба числа на простые множители[134] (см. главу 1). Вот результат:
986 = 2 17 29;
748 = 2 2 11 17.
С помощью этого разложения на простые множители мы можем найти НОД, пуская в дело все простые числа, на которые делятся оба наших числа. Оба делятся на 2 и на 17, потому наибольший общий делитель очевидным образом равен 2 17 = 34.
Как разложить число на простые множители самым эффективным способом? Ответ неутешителен: мы этого не знаем (как уже отмечалось в главе 1). Нам нужна идея получше.
Еще одну идею нам подсказал Евклид. Допустим, d – общий делитель 986 и 748. Это означает, что
986 = xd, 748 = yd,
где x и y – целые числа. Следовательно, d также является делителем разности 986 – 748. Это следует из нехитрых алгебраических выкладок:
986 – 748 = xd – yd = (x – y) d.
Так как x и y целые числа, их разность тоже целое число. Потому разность 986 и 748 тоже нацело делится на d. Заметим, что 986–748 = 238.
Точно так же общий делитель 748 и 238 является делителем 986. Почему? Если e – общий делитель 748 и 238, то
748 = ue, 238 = ve,
где u и v – целые числа. Таким образом,
986 = 748 + 238 = ue + ve = (u + v) e,
откуда мы делаем заключение, что e – делитель 986.
Вывод: общие делители 986 и 748 являются также общими делителями 748 и 238. Для иллюстрации запишем делители всех трех чисел, подчеркивая общие делители:
делители 986 , , , 29, , 58, 493, 986;
делители 748 , , 4, 11, , 22, , 44, 68, 187, 374, 748;
делители 238 , , 7, 14, , , 119, 238.
Отсюда следует, что
НОД (986, 748) = НОД (748, 238). (A)
Таким образом, поиск наибольшего общего делителя 986 и 748 свелся к поиску наибольшего общего делителя 748 и 238. Прогресс, теперь мы имеем дело с числами поменьше. Проделаем то же самое еще раз.
Если некое d – общий делитель 238 и 748, оно также делитель их разности. Этим дело не ограничивается. Мы можем вычесть 238 из 748 несколько раз, и d будет оставаться делителем разностей. Точнее говоря, если 238 и 748 делятся на d, разность 748 – 3 238 тоже делится на d. Обратимся к алгебре, чтобы доказать это.
748 = xd, 238 = yd,
где x и y – целые числа. Следовательно,
748 – 3 238 = xd – 3yd = (x – 3y) d.
Таким образом, d – делитель 748 – 3 238 = 34. И наоборот: если e – делитель 34 и 238, это также делитель 748. Вернемся к алгебре.
238 = ue, 34 = ve,
где u и v – целые числа. Таким образом,
748 = 3 238 + 34 = 3ue + ve = (3u + v) e.
Таким образом, e – делитель 748. Следовательно, у 748, 238 и 34 есть общие делители, и мы можем сделать вывод, что
НОД (748, 238) = НОД (238, 34). (B)
На основе тождеств (A) и (B) мы имеем:
НОД (986, 748) = НОД (748, 238) = НОД (238, 34).
Мы почти у цели. Обратим внимание, что 238 делится на 34 (потому что 238 = 34 7), и поэтому НОД (238, 34) = 34. Финальный аккорд:
НОД (986, 748) = НОД (748, 238) = НОД (238, 34) = 34.
Подытожим: через какие этапы мы пришли к этому результату? Мы вычли 748 из 986 и получили 238. Мы трижды вычли 238 из 748. Почему мы совершили одну операцию вычитания в первом случае и три операции во втором? Мы хотели свести задачу к операциям с как можно меньшими числами, потому что так удобнее. Поэтому мы вычитали меньшее число из большего до упора. Заметим: 748 умещается в 986 всего один раз, и разница между ними равна 238. Однако 238 умещается внутри 748 три раза, и остаток равен 34. Мы можем вычесть 748 из 986 всего один раз, и в то же время мы можем вычесть 238 из 748 три раза.
Теперь мы обобщим этот пример и построим алгоритм вычисления наибольшего общего делителя для двух целых положительных чисел. Нам даны два целых положительных числа a, b, и мы хотим определить НОД (a, b). При этом a больше b. Мы должны вычесть b из a как можно большее число раз. Чтобы выяснить, сколько именно, поделим a на b. Мы получим частное q и остаток c. На языке алгебры:
a – qb = c.
Если окажется, что b – делитель a, тогда остаток будет равен нулю. В ином случае c больше нуля и меньше b (если бы c оказалось больше b, мы смогли бы вычесть b из a еще раз[135]).
Теперь предположим, что d – общий делитель a и b. Тогда
a = xd, b = yd,
где x и y – целые числа. Следовательно,
c = a – qb = xd – q (yd) = (x – qy) d,
и c тоже без остатка делится на d (потому что x – qy входит в множество целых чисел).
С другой стороны, если e – общий делитель b и c, тогда
b = ue, c = ve,
где u и v – целые числа. Следовательно,
a = c + qb = ve + q (ue) = (v + qu) e,
и e – еще и делитель a.
Итак, мы доказали, что общие делители a и b совпадают с общими делителями b и c. Таким образом,
НОД (a, b) = НОД (b, c). (C)
Посмотрим, как тождество (C) позволит нам эффективно вычисить наибольший общий делитель двух больших целых чисел: a = 10 693 и b = 2220.
Мы делим a на b и видим, что 2220 умещается в 10 693 четыре раза[136], при этом остаток c = 1813. Следовательно,
НОД (10 693, 2220) = НОД (2220, 1813).
Переходим к следующей итерации. Введем обозначения a' = 2220 и b' = 1813. Поделим a' на b' и увидим, что 1813 умещается в 2220 всего один раз[137] и остаток c' = 407. На основании тождества (C)
НОД (10 693, 2220) = НОД (2220, 1813) = НОД (1813, 407).
На новом шаге a'' = 1813 и b'' = 407. После деления мы обнаружим, что 407 умещается внутри 1817 четыре раза[138] и остаток c'' = 185. Опять-таки на основании (C)
НОД (10 693, 2220) = НОД (2220, 1813) = НОД (1813, 407) = НОД (407, 185).
На сей раз мы имеем дело с числами a''' = 407 и b''' = 185. Деление показывает, что 185 умещается внутри 407 два раза[139] и остаток равен c''' = 37. Таким образом,
НОД (10 693, 2220) = НОД (2220, 1813) = НОД (1813, 407) = НОД (407, 185) = НОД (185, 37).
Мы почти у цели! Делим a'''' = 185 на b'''' = 37 и – подумать только! – получаем ровно 5. Следовательно, НОД (185, 37) = 37. Завершаем наши выкладки:
НОД (10 693, 2220) = НОД (2220, 1813) = НОД (1813, 407) = НОД (407, 185) = НОД (185, 37) = 37.
Мы нашли наибольший общий делитель 10693 и 2220, проделав всего пять операций деления!
Алгоритм Евклида для поиска наибольшего общего делителя[140] можно сформулировать так:
Поиск НОД: алгоритм ЕвклидаНа входе: два положительных целых числа a и b.
На выходе: НОД (a, b).
1. Найти частное q и остаток c при делении a на b.
2. Если c = 0, то НОД (a, b) = b.
3. В противном случае вычислить НОД (b, c) = НОД (a, b).
Проверьте, насколько хорошо вы усвоили алгоритм Евклида, и вычислите НОД (1309, 1105). Можете воспользоваться калькулятором. Сверьтесь с ответом в конце главы.
Концепция наибольшего общего делителя тесно связана с концепцией наименьшего общего кратного. Для двух положительных целых чисел (допустим, 10 и 15) наименьшее общее кратное – это самое маленькое положительное целое число, которое делится на то и на другое; в нашем случае ответ равен 30. Мы будем использовать обозначение НОК (a, b).
Наименьшее общее кратное полезно при сложении дробей. Например, для сложения 1/10 и 1/15 вначале нужно привести обе дроби к общему знаменателю. Это может быть любое число, которое делится на 10 и на 15; проще всего найти НОК. Так как НОК (10, 15) = 30, то
Найти наименьшее общее кратное для маленьких чисел не слишком сложно, но как быть с большими числами? Скажем, чему равно наименьшее общее кратное 364 и 286?
Один вариант состоит в том, чтобы последовательно выписывать числа, кратные первому и второму, и уповать, что рано или поздно они совпадут[141]:
числа, кратные 364 364, 728, 1092, 1456, 1820, 2184, …
числа, кратные 286 286, 572, 858, 1144, 1430, 1716, 2002, …
Вскоре мы дойдем до 4004 и запишем ответ: НОК (364, 286) = 4004.
Вот еще одна идея. Разложим 364 и 286 на простые множители:
364 = 2 2 7 13;
286 = 2 11 13.
Числа, кратные 364, должны делиться на 2 2 7 13, а числа, кратные 286, должны делиться на 2 11 13. При конструировании наименьшего общего кратного мы должны воспользоваться этими простыми числами – два раза по 2, затем 7, 11 и 13 (нам ни к чему брать два раза по 13):
2 2 7 11 13 = 4004.
Разумеется, 4004 и есть наименьшее общее кратное 364 и 286.
Этот метод выглядит потрясающе, однако – как я уже объяснил в главе 1 – мы не знаем эффективного алгоритма разложения больших чисел на простые множители.
Хотя разложение на простые множители не дает достаточно эффективного алгоритма вычисления НОК двух чисел, оно делает важную подсказку. Давайте сравним, как используется разложение на множители при вычислении НОК и НОД.
Вот семь простых множителей двух чисел, взятые вместе:
Мы находим НОД (364, 286) с помощью двух общих простых делителей: 2 и 13.
Для вычисления НОК (364, 286) нам нужны все простые числа в двух списках, хотя нет нужды брать два раза по 13 (достаточно одного) и три раза по 2 (достаточно двух). Иными словами, мы берем каждое простое число из того списка, где оно встретилось большее число раз. Таким образом, нам нужны пять чисел: 2, 2, 7, 11 и 13.
Проверяем:
НОД (364, 286) = 26 = 2 13;
НОК (364, 286) = 4004 = 2 2 7 11 13.
Заметим, что при подсчете НОК мы выкинули именно те числа, которые нужны для вычисления НОД:
Иначе говоря,
364 286 = (2 2 7 13) (2 11 13) = (2 2 7 11 13) (2 13) = НОК (364, 286) НОД (364, 286).
Мы можем обобщить этот пример. Для любых двух целых положительных чисел a и b
a b = НОК (a, b) НОД (a, b).
Таким образом,
Так как алгоритм Евклида позволяет эффективно вычислить наибольший общий делитель двух чисел, он также годится – с учетом тождества (D) – для эффективного вычисления наименьшего общего кратного.
Часть II
Геометрические фигуры
Глава 13
Треугольники
Треугольник – геометрическая фигура, состоящая из трех прямых отрезков, соединяющих три точки. В главе 13 мы рассмотрим общеизвестные свойства этих незамысловатых фигур и приподнимем покров над их тайнами. А начнем мы с двух всем знакомых формул: суммы углов и площади треугольника.
Возможно, самый известный факт, касающийся треугольников, – то обстоятельство, что если мы измерим все три угла и сложим эти величины, то получим 180°.
Почему мы так уверены? Нет, не стоит вырезать из бумаги тысячи треугольников и вымерять их углы транспортиром! Есть путь попроще.
Возьмем треугольник – любой треугольник – и обозначим его вершины буквами A, B, C, а величину углов соответственно x, y, z. Нам нужно убедиться, что x + y + z = 180°.
Нарисуйте (все равно, на бумаге или в воображении) прямую L, проходящую через точку B и параллельную AC:
Продолжите отрезки AB и BC таким образом, чтобы они пересекали прямую L. В результате появятся три новых угла.
Обратите внимание, что они образуют развернутый угол и в сумме дают 180°.
На чертеже мы обозначили новые углы x, y, z, так как они в точности равны углам треугольника. Почему это происходит?
Когда две параллельные прямые пересекают третью, образуются два соответственных угла, которые равны друг другу. Кроме того, при пересечении двух прямых образуются два ветикальных угла, которые тоже равны друг другу. Это изображено на чертеже.
Взгляните на три новых угла x, y, z. Поскольку AC и L параллельны, прямая AB отсекает два равных соответственных угла – оба по x градусов. Точно так же прямая BC отсекает еще два равных соответственных угла – оба по z градусов. И, наконец, прямые AB и BC пересекаются в точке B и образуют два вертикальных угла – оба по y градусов.
Суммируем всё, что мы выяснили:
• Три новых угла охватывают ровно одну сторону линии L, поэтому их сумма – 180°.
• Три новых угла имеют ту же величину, что и три угла треугольника.
Поэтому мы заключаем, что x + y + z = 180°, как и было обещано.
Бессчетное число школьников зазубривает: «Площадь треугольника равна половине произведения его основания на высоту». Напомню: основание – одна из сторон, а высота – кратчайшее расстояние от этой стороны до противолежащей вершины.
Если длина основания равна b, а высота – h, площадь треугольника можно вычислить по формуле:
Общеизвестный факт! Но почему это так? Вот замечательное объяснение, и оно гораздо интереснее, чем формула[142].
Скопируем наш треугольник, поставим с ног на голову и прикрепим два треугольника друг к другу, чтобы получить параллелограмм:
Его площадь будет вдвое больше площади нашего треугольника.
Теперь превратим параллелограмм в равный по площади прямоугольник: отрежем треугольник (он обозначен пунктирной линией) с одной стороны и прикрепим его с другой:
Получится прямоугольник со сторонами b и h, его площадь равна b h. Таким образом, площадь нашего треугольника равна
Если у нас есть материальный треугольник (скажем, деревянный), несложно измерить его стороны линейкой. Но измерить высоту не так-то просто. Мы прикладываем к вершине линейку, но должны быть уверены, что она перпендикулярна противоположной стороне.
Можно ли вычислить площадь треугольника, если мы знаем длины его сторон? Потребует ли это геркулесовых усилий? Здесь нам поможет герой по имени Герон – Герон Александрийский, живший около двух тысяч лет назад.
Обозначим длины сторон треугольника буквами a, b и c, как показано на рисунке.
Вначале необходимо сложить эти числа и поделить пополам. Обозначим результат буквой s:
Теперь поочередно вычтем из получившейся величины длины сторон – и получим заветную формулу:
Например, длины сторон треугольника равны 4, 5 и 7. Тогда Это дает:
Вот развернутый вариант формулы Герона:
Перепроверим на только что разобранном примере:
Есть и другие формулы вычисления площади треугольника. Я завершу этот раздел своей излюбленной формулой. Она работает для треугольника с целочисленными вершинами – их координаты на плоскости должны быть целыми числами. Это легко продемонстрировать на клетчатой бумаге:
Будем считать, что площади всех квадратиков равны 1. Можно найти площадь треугольника, посчитав, сколько квадратиков укладывается внутри треугольника целиком, а затем прибавив площади фрагментов квадратиков, отсеченных сторонами треугольника. Однако нам придется нелегко[143].
Теорема Пика[144] предлагает кое-что полегче. Мы не будем считать квадратики – мы посчитаем координатные точки. Вначале найдем, сколько точек внутри треугольника; обозначим их число I. Затем посчитаем количество точек на границе треугольника; обозначим их число B.
Теорема Пика утверждает:
Я начертил достаточно крупный треугольник, чтобы вы смогли сосчитать все точки. В итоге получится, что I = 38, а B = 10 (включая вершины). Таким образом,
Завершу этот раздел небольшой головоломкой. Предположим, мы хотим найти площадь четырехугольника с целочисленными вершинами. Если внутри четырехугольника I координатных точек, а на границе B координатных точек (включая четыре вершины), то чему равна его площадь? Ответ вы найдете в конце главы.
Кроме того, подумайте над вопросом о площади других многоугольников с целочисленными вершинами: пятиугольнике, шестиугольнике и т. д.
Что мы подразумеваем, когда говорим «центр треугольника»? У этого понятия есть несколько значений, и каждое интересно по-своему.
Начнем с точки под названием центроид треугольника. Соединим вершины треугольника с серединами противоположных сторон. Такие отрезки называют медианами. Удивительно: все три медианы пересекаются в одной точке; ее и называют центроидом.
Одно из свойств центроида – он представляет собой центр масс треугольника: если треугольник из жесткого материала (скажем, из тонкого листа железа) подвесить за центр масс, он будет сохранять равновесие. Разумеется, равновесие окажется шатким, если наши вычисления окажутся недостаточно точными.
Мы уже провели отрезки из вершин треугольника к серединам противолежащих сторон; теперь давайте проведем кратчайшие линии, соединяющие вершины и противолежащие стороны. Они будут пересекать стороны треугольника под прямыми углами. Ко всеобщему восхищению эти три отрезка также пересекаются в одной точке; ее называют ортоцентр.
Далее: биссектрисы. Проведем три отрезка из трех вершин до трех противоположных сторон, чтобы каждый из них рассекал соответствующий угол треугольника на два равных между собой угла. Эти три отрезка вновь пересекаются в одной точке, известной как инцентр.
Инцентр называют так потому, что это центр окружности, касающейся всех трех сторон треугольника (вписанной в треугольник окружности).
Теперь проведем отрезки не из вершин треугольника, а из середин его сторон, причем под прямыми углами к этим сторонам; их называют серединные перпендикуляры. Имею счастье сообщить, что и они пересекаются в одной точке – в центре окружности, описанной около треугольника, то есть содержащей все три его вершины.
Эти четыре центра (центроид, ортоцентр, инцентр и центр описанной окружности) совпадают, если треугольник равносторонний. Но в общем случае точки различаются. На рисунке вы можете видеть расположение всех четырех центров в некотором произвольном треугольнике[145].
Вместо биссектрис проведем трисектрисы углов треугольника – отрезки, рассекающие каждый угол треугольника на три равные между собой части. В общей сложности это будет шесть отрезков (по два для каждого угла). Разумеется, все они не могут пересечься в одной точке, но точки, где они пересекаются, образуют малый треугольник внутри большого.
Ошеломительная теорема Морли[146] утверждает, что этот малый треугольник всегда будет равносторонним!
Можно отыскать и другой равносторонний треугольник, сопутствующий любому произвольно взятому треугольнику. Построим на трех сторонах треугольника (на рисунке он начерчен жирными линиями) три равносторонних треугольника (начерчены тонкими линиями). Отметим центры этих равносторонних треугольников:
Соединим три центра и – вуаля! – получим очередой равносторонний треугольник.
Нарисуем четырехугольник с целочисленными вершинами на клетчатой бумаге и проведите диагональ. Таким образом, мы получаем два треугольника с общей стороной:
Мы можем посчитать площади двух треугольников, пользуясь теоремой Пика, а затем сложить получившиеся величины. Обозначим эти два треугольника L и R и получим:
Таким образом, площадь четырехугольника равна 16 + 36 = 52.
Но, ко всеобщему восхищению, теорема Пика верна также для четырехугольников! И вот почему.
Вместо нового пересчета точек давайте воспользуемся результатами, уже полученными ранее.
Внутри левого треугольника 13 точек, внутри правого – 31 точка. Обратите внимание, что три точки на диагонали тоже лежат внутри четырехугольника; включим их в наши расчеты. Это дает = 31 + 13 + 3 = 47.
Что касается границ четырехугольника, мы видим 8 точек на границе левого треугольника и еще 12 – на границе правого, то есть в общей сложности 20 точек. Но тут мы немного перебрали. Три точки на диагонали четырехугольника включать не надо; кроме того, мы посчитали их дважды. Таким образом, нужно вычесть 6. Две точки на концах диагонали тоже посчитаны дважды, потому вычтем еще 2, чтобы компенсировать перебор. Это дает = 20–6–2 = 12.
Последний рывок:
Невероятно! Это правильный ответ! Как такое возможно?
Площади двух треугольников, и , дают в сумме:
Это не что иное, как площадь четырехугольника. Перегруппируем слагаемые:
Величина + не включает некоторые точки внутри четырехугольника, а величина + оказывается слишком большой из-за точек на границах. Точки на диагонали четырехугольника мы неосмотрительно посчитали дважды, хотя на самом деле они принадлежат величине (и деление пополам исправляет эту оплошность). Конечные точки диагонали тоже оказались посчитаны дважды, когда мы вычисляли точки на границах. Деление на 2 исправляет эту оплошность лишь наполовину, но вычитание 2 (а не 1) ставит все на свои места!
Вы не поверите, но теорема Пика работает для любого многоугольника с целочисленными вершинами.
Центры треугольника вне треугольникаЕсли треугольник тупоугольный (то есть один из его углов больше 90°), центр описанной окружности и ортоцентр лежат вне треугольника. На рисунке приведен пример окружности, описанной около тупоугольного треугольника.
Найти ортоцентр тупоугольного треугольника несколько сложнее. Фокус состоит в том, чтобы продолжить его стороны, пока они не пересекутся с соответствующими высотами.
В треугольнике мы делаем следующие дополнительные построения: (1) проводим через точку прямую, перпендикулярную (эту сторону необходимо продолжить); (2) проводим через точку прямую, перпендикулярную ; (3) проводим через точку прямую, перпендикулярную (ее также необходимо продолжить). Точка пересечения этих прямых и есть ортоцентр.
Глава 14
Пифагор и ферма
Страшила из книги «Волшебник страны Оз» так и не обрел мозги, но получил диплом. Он с гордостью продемонстрировал свой усовершенствованный интеллект, сформулировав абсолютно исковерканную теорему Пифагора: «Сумма квадратных корней из двух сторон равнобедренного треугольника равна квадратному корню из третьей стороны».
На самом деле теорема Пифагора ничего не говорит о равнобедренных треугольниках[147]. Она увязывает длины сторон прямоугольного треугольника (один из углов в этом треугольнике прямой, то есть равен 90°).
Обозначим длины катетов прямоугольного треугольника (то есть сторон, образующих прямой угол) буквами a и b, а длину гипотенузы (стороны напротив прямого угла) – буквой c.
Теорема Пифагора гласит:
a + b = c.
Вот словесная формулировка (несомненно, именно это и намеревался сказать Страшила):
Теорема Пифагора. В прямоугольном треугольнике квадрат длины гипотенузы равен сумме квадратов длин катетов[148].
Наше доказательство будет базироваться на рассечении большой фигуры на малые: мы сгруппируем несколько прямоугольных треугольников в одну фигуру, посчитаем сначала ее площадь, а потом сумму площадей образующих ее фрагментов и – вуаля! – докажем теорему Пифагора.
Расположим четыре одинаковых прямоугольных треугольника с катетами a и b и гипотенузой c так, чтобы они образовали квадрат со стороной a + b: