Как без калькулятораизвлечь корень из данного числа?

6 года назад от DanielleFair

1 ответ



0 голосов
1. есть алгоритм вычисления "уголком", не знаю, как сейчас, раньше в школе проходили, 8-й класс, не сложне деления уголком.

2. есть древний сверхбыстрый алгоритм (в самом деле - метод Ньютона, он же - касательных) .

Хотим извлечь корень из А, обозначим точный корень как r.

Возьмем какое-то начальное приближение r0. Вобще-то можно взять какое попало положительное число, но быстре будет, если мы возьмем r0 больше, чем r, но не намного больше.
Например, если надо извлечь из А=123456, можно взять 400 - знаков вдвое меньше, первая цифра 4 в начале - что-то около корня из 12. Если лень - можно взять просто r0=A.

А теперь посмотрим на число A/r0: если у нас r0 r, то A/r0 r, и наоборот, если у нас r0 r, то A/r0 r.
Значит неизвестный нам точный корень r лежит где-то между r0 и A/r0. Давайте возьмем в качестве нового приближения середину этого отрезка, то есть r1= (r0 + A/r0) / 2. Потом так же получим следующе приближение итд.

Такой метод удваивает число точных знаков на каждом шаге, так что долго считать не придется.

Например, беру в качестве первого приближение 50000 (число знаков было десять, беру вдвое меньше, старшие знаки 21, следующий полный квадрат 5*5=25, так что 50000)
50000
46067. 18201
45899. 307
45899
45899

можно взять хоть само число, будет побольше итераций:
2106718201
1053359101
526679551. 5
263339777. 8
131669892. 9
65834954. 44
32917493. 22
16458778. 61
8229453. 305
4114854. 651
2057683. 315
1029353. 572
515700. 1072
259892. 6343
133999. 372
74860. 61166
51501. 24483
46203. 7028
45900. 00472
45899. 00001
45899
45899
6 года назад от Александра Шалыгина

Связанные вопросы

2 ответов
2 ответов
2 года назад от Евгений Андреевич