[identity profile] sagava.livejournal.com posting in [community profile] useful_faq
Как то мне показывали, но было это давно и я забыл.
Извлечение квадратного корня на бумаге, в столбик как бы.

Date: 2013-10-25 10:48 pm (UTC)
From: [identity profile] klammeraffe.livejournal.com
http://festival.1september.ru/articles/517087/

но вообще http://bit.ly/17jXycH конечно же )

Date: 2013-10-26 09:00 am (UTC)
From: [identity profile] kray-zemli.livejournal.com
Там всё гораздо менее благоприятно, чем кажется. При сложении в столбик, вы считаете цифры по порядку. А при вычислении корня, всё муторнее намного. Метод о котором вы говорите основан на школьной формуле S=(X+Y)^2=X^2+Y^2+2XY, где S число, из которого вычисляете корень.

В общем, первым делом определяете, сколько цифр до запятой будет в результате, их примерно вдвое меньше. Если число 0-99, то корень из него 0-9, если число 100-9999, то корень 10-99, если число 10000-999999, то корень 100-999, и т.д.

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

Как только угадали, начинаете угадывать следующие за ней цифры по порядку, пока не надоест (смотря какая нужна точность). Можно даже выписанной выше формулой не пользоваться. А можно ипользоваться, тогда может придётся чуть меньше считать при переборе. Для этого пользуетесь квадратным уравнением: Y^2+Y*2X=(S^2-X^2). Где S - исходный квадрат, X - цифры, которые вы уже угадали, с нужным количеством дописанных нулей, Y - цифры, которые ещё предстоит угадать. Только решаете это уравнение не в лоб, а так же, перебором первой цифры Y. Потом угаданную цифру включаете в X и так далее все последующие цифры.
Edited Date: 2013-10-26 09:14 am (UTC)

Date: 2013-10-26 09:13 am (UTC)
From: [identity profile] kray-zemli.livejournal.com
Допустим, ищется корень числа 119025.

Уже по количеству цифр определяем, что результат трёхзначный (100^2=10000 - меньше, а 1000^2=1000000 - перебор, значит результат трёхзначный: 101-999). Перебираем первую цифру.

300^2=90000 - меньше
400^2=160000 - перебор.

Значит, результат лежит в диапазоне 301-399, X=300.

Записываем уравнение:

Y^2+Y*600=29025

Y=40: Y^2+Y*600=25600 - меньше
Y=50: Y^2+Y*600=32500 - перебор

Результат лежит в диапазоне 341-349. Теперь X=340

Снова уравнение:

Y^2+Y*680=3425

Уравнение уравнивается при Y=5.

Итак, корень из 119025 равен 345.






Date: 2013-10-26 08:56 pm (UTC)
From: [identity profile] ohshitnotuagain.livejournal.com
Вы восхитительны!