Как стать автором
Обновить

Извлечение квадратного корня методом Маятникова

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.5K

Тема извлечения квадратного корня стара как этот мир, затертые до дыр подборы ближайших корней и следование различным закономерностям навели меня на мысль что тут явно что-то не так, любой путь начинается с первого шага, любое число с ноля, проще говоря меня не устраивал тот факт что в извлечении квадратного корня не было этой плавной шкалы сложности, ты просто внезапно оказываешься в пучине поисков ближайших подходящий корней с подстановкой, с поиском закономерностей и кучей различных подсказок вроде того что если число заканчивается на 5 и т.д. Мне захотелось создать такой метод, который был бы лишен всего этого, и давал точный результат, до дня рождения оставалось примерно 2 недели, именно за такой короткий промежуток времени мне и удалось воплотить сие решение. Итак, я не профессор математических познаний, поэтому язык моего изложения будет на уровне простой математики.

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

  1. Получаем первоначальный динамический делитель.

  2. Производим скроллинг и уточнение динамического делителя.

  3. Проверяем точность динамического делителя (с возможной единичной корректировкой).

  4. Получаем квадратный корень.

А теперь каждый шаг подробно на примере числа 97344.

1) Первоначальный делитель: 100

Правило первоначального делителя - десять в степени (количества пар в нашем числе, с вычетом одного нуля) или еще проще - количество пар в числе переводим в ноли и первый ноль заменяем на единицу.

2) Скроллинг и уточнение динамического делителя. (160.84)

Правило скроллинга делителя
Правило скроллинга делителя

Разделив наше число на начальный делитель мы получаем следующий результат:
97344 / 100 = 973.44 нам необходимо на этом шаге выяснить можем ли мы из текущего результата получить точный квадратный корень, для этого на основе нашего делителя мы создаем (Рамки допустимости вычисления) первым числом в которых будет начальное значение рамок, которое больше делителя в 2 раза, середина рамок будет числом больше делителя в 4 раза и конечные рамки будут числом больше делителя в 8 раз.

Наш результат деления мы подставляем к рамкам и смотрим находится ли он в этих рамках. С делителем 100 мы не можем работать, так как результат деления больше максимального значения рамок, поэтому мы скролим дальше, увеличивая наш делитель в 2 раза и повторяя все проделанные шаги еще раз. На втором шаге, с делителем 200 мы можем работать, так как результат деления оказывается в вычисленных рамках (Рамках допустимости вычисления).

На этом наш скроллинг завершен и теперь нам надо уточнить наш динамический делитель.

Уточнение динамического делителя
Уточнение динамического делителя

Выражение, уточняющее наш динамический делитель выглядит следующим образом
200 - ((800 - 486.72) / 8) = 160.84 Давайте рассмотрим все по подробнее, первое в выражении число наш текущий делитель, вторым стоит минус потому что если смотреть в скрин на (Рамки вычитания или добавления) наш результат деления ( 486.72 ) находится ниже середины. Далее в рамках мы получаем разность чисел результата деления и середины рамок, которую делим на 8, результатом и будет наш обновленный динамический делитель, точность которого необходимо проверить.

Проверка точности делителя
Проверка точности делителя

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

Получение квадратного корня
Получение квадратного корня

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

Небольшой лайфхак для тех кто решит письменно проверить данный метод, на стадии скроллинга результат продолжайте делить на 2, каждое следующее деление на 2 будет удваивать наш делитель, приведу пример:

8271376 / 1000 = 8271.376 (фактический делитель 1000)
8271.376 / 2 = 4135.688 (фактический делитель 2000)
4135.688 / 2 = 2067.844 (фактический делитель 4000)

Всем удачи.

Теги:
Хабы:
-2
Комментарии11

Публикации

Ближайшие события