К основному контенту

Занимательная математика. Пифагоровы штаны

Рис. 1

Продолжаю цикл постов о том, как мне приспичило доказать/решить какую-то задачку из школьного курса, пользуясь знаниями из головы. Сегодня расскажу про то, как мне взбрело в голову доказать теорему Пифагора, возвращаясь с летнего отдыха. Не зря говорю, что хороший отдых, это тот, после которого голова сама начинает заполняться мыслями, идеями и прочим творческим бредом :) Так было и в этот раз...

Доказательств теоремы Пифагора существует великое множество. От простым до самых извращенных; многие очень изящные. Ознакомиться с темой можно, например на Wiki.

Не помню, что было пройдено к моменту теоремы Пифагора по школьному курсу, поэтому беру все свои знания.. На самом деле, сам того не ведая, я предложил 2 доказательства теоремы. Одно - когда "изобретал" его, и второе - когда готовился писать этот пост, потому как не сохранились исходные записи.

Начну в обратном  порядке.

Теорема Пифагора.
В прямоугольном треугольнике квадрат длины гипотенузы равен сумме квадратов длин катетов.
Или в терминах рисунка (рис. 1):  

Доказательство теоремы Пифагора. Способ 1: "Достроение" до квадрата.
Шаг 1. Имея наш прямоугольный треугольник (a, b, c) достроим его до квадрата со стороной a+b
Рис. 2












Шаг 2. Вписанный четырехугольник (рис. 2), ни что иное, как квадрат со стороной равной с.
Не буду приводить доказательство данного факта, это очевидно. Можно взглянуть на отмеченные углы α и β и сопоставить с шагом 1.
Шаг 3. Выразим площадь большого квадрата 2-мя способами:





Сопоставим:



Сокращая 2ab, получим необходимое равенство.
Ч.Т.Д.

Доказательство теоремы Пифагора. Способ 2: Через подобные треугольники.
Шаг 1. Опустим высоту треугольника из вершины прямого угла на гипотенузу.
Шаг 2. Обозначим вершины треугольники через A, B, C, а основание высоты - H.











Шаг 3. Воспользовавшись подобием треугольников, имеем:




, отсюда получаем, что:






Шаг 4. Преобразовываем равенства, с учетом того, что AH + HC = c.
Складываем (1) и (2):
Получаем необходимое равенство.
Ч.Т.Д.

Разминайте голову, пусть даже самыми простыми задачами :) В следующем выпуске будет не математика, а занимательный алгоритм... ;)

Контакты:

Комментарии

Популярные сообщения из этого блога

Занимательные алгоритмы. Поиск цикла в односвязном списке

И снова про тараканов, которые иногда возникают в голове. Как-то раз, засыпая, я задумался на курьезными задачками из своей сферы деятельности (Lotus Notes), которые можно было бы задать на собеседовании, плавно перешел к воспоминаниям о своих первых собеседования, когда опыта работы еще не было. Опыт самих собеседований у меня не велик а места, где задавались действительно интересные задачи (а не задачки типа: написать сортировку массива любым известным способом) вообще равны одному - это ABBYY. Как минимум одна задачка в списке на знание и понимание классических алгоритмов, описанных в книге Дональда Кнута -  Искусство программирования .

Unit-testing object validation when validator has DI

Summary Unit test object validation when validator(s) has a dependency. For instance, we have some custom field and cross-field validators. Want to test their combination. Additionally some of validators have dependencies, injected through constructor or setters. You're not using property injection, right? Shortcut If you are just searching for an answer, here's the fast way: Declare CustomConstraintValidatorFactory that implements javax.validation.ConstraintValidatorFactory Override getInstance method and on facing your constraint validator class instantiate it Otherwise delegate validator construction to org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorFactoryImpl Build validator factory and provide it your CustomConstraintValidatorFactory Build validator, using that factory... Go to demo project on GitHub for details:  https://github.com/MrArtemAA/blog-demos/blob/master/test-validator-with-injection/src/test/java/ru/artemaa/d

Lotus Notes FAQ. 8/9 Eclipse. Как настроить уведомления о Sametime сообщениях

Н а написание данной "инструкцию" натолкнул мой коллега. Помню, первый раз сам долго искал, как отключить постоянно выпрыгивающие уведомления о новых сообщениях в Sametime. И так, речь идет о клиентах IBM Notes 8+ версии Standart (Eclipse based). Как настроить уведомления о Sametime сообщениях?