Распечатать запись Распечатать запись

Извлечение кубического корня в столбик

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

Итак, давайте для примера будем извлекать кубический корень из 75686967.

1. Разобьем цифры исходного числа на группы по три цифры в каждой. При этом разбиение начинаем от десятичной запятой, двигаясь влево и вправо.

Пример. В нашем случае разбиение выглядит таким образом: 75^{\prime}686^{\prime}967.

2. Извлечем кубический корень из первой слева группы цифр. Разумеется, точно корень может не извлекаться, поэтому возьмем наибольшее число, куб которого меньше числа, образованного данной группой цифр.

Пример. В нашем случае первая слева группа цифр 75, поэтому первая цифра кубического корня — 4. Действительно, 4^3=64, а вот 5^3 уже равно 125>75.

3. Возводим найденное число в куб и вычитаем из первой слева группы цифр, к разности приписываем справа следующие три цифры (т.е. цифры следующей группы).

Пример. В нашем случае получаем:

\begin{tabular}{r@{}l@{}l}<br />
&$75^{\prime}$&$686^{\prime}$\\[-3mm]<br />
$-$&&\\[-3mm]<br />
&$64$&\\<br />
\hline<br />
&$11$&$686$<br />
\end{tabular}

4. Теперь нужно подобрать следующую цифру корня. Для этого квадрат числа, образованного уже имеющимися цифрами, умножаем на 3 и выбираем цифру, при умножении на которую получится число, меньшее, чем число, образованное всеми цифрами разности, кроме двух последних, но достаточно близкое к нему. Однако следует иметь в виду, что если при очередном вычитании получилось отрицательное число, нужно последнюю вычисленную цифру уменьшить на единицу.

Пример. Имеем: 4^2\cdot 3=48, поэтому выбираем цифру 2 (в самом деле, 48\cdot2=96, а 48\cdot3=144>116.

5. Умножаем полученное ранее произведение на выбранную цифру, потом еще на 100, прибавляем к полученному числу квадрат выбранной цифры, умноженный на число, образованное уже найденными цифрами корня, домноженное на 30, после чего прибавляем еще куб выбранной цифры.

Пример. У нас получится
48\cdot2\cdot100+2^2\cdot4\cdot30+2^3=9600+480+8=10088.

6. Из полученной на шаге 3 разности вычитаем число, полученное на шаге 5.

Пример. В нашем случае это будет 11686-10088=1598.

7. Переходим к шагу 4.

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

Пример. В нашем случае мы возводим в квадрат 42 и умножаем его на 3: 42^2\cdot3=5292. Теперь подберем цифру, при умножении на которую числа 5292 получим близкое к 15989, но меньшее его число. Эта цифра 3 (5292\cdot3=15876,5292\cdot4=21168>16989). Теперь из числа 1598967 (разность, полученная на предыдущем шаге и приписанная справа следующая группа цифр) нужно вычесть следующую сумму:

42^2\cdot3\cdot3\cdot100+3^2\cdot42\cdot30+3^3=1587600+11340+27=1598967.

Тем самым, разность будет равна нулю, и корень, который оказался точным, извлечен — это 423.

Теперь приведу запись, которая при этом получается (разумеется, при реальных вычислениях все скорее всего будет не столь красиво и аккуратно ;) ).

\begin{tabular}{r@{}l@{}l}<br />
&$\sqrt[3]{75^{\prime}686^{\prime}967}$&$=423$\\[-3mm]<br />
$-$&&\\[-3mm]<br />
&$\ \ \ 64$&\\<br />
\cline{2–2}<br />
\end{tabular}

\begin{tabular}{r@{}l@{}l@{}l}<br />
&$11$&$686$&\\[-3mm]<br />
$-$&&&\\[-3mm]<br />
&$10$&$088$&\\<br />
\cline{2–4}<br />
&&$1598$&$967$\\[-3mm]<br />
$-$&&&\\[-3mm]<br />
&&$1598$&$967$\\<br />
\cline{2–4}<br />
&&&$0$<br />
\end{tabular}\hskip2cm<br />
\begin{array}{l}<br />
4^2\cdot 3=48\\<br />
48\cdot2\cdot100+2^2\cdot4\cdot30+2^3=10088\\<br />
42^2\cdot3\cdot3\cdot100+3^2\cdot42\cdot30+3^3=1598967\\<br />
42^2\cdot3=5292<br />
\end{array}

Алгоритм основан на формуле куба суммы: (10a+b)^3=1000a^3+300a^2b+30ab^2+b^3.

Для тех же, кому интересно извлечение корней высших степеней, даю ссылку (правда, материал на английском): http://en.wikipedia.org/wiki/Shifting_nth-root_algorithm.

Комментариев: 8

  1. 1 Дорофей.:

    Спасибо за “добротную” формулу. Хоть она и большая и для меня в новинку такой ход вычисления, но ведь новое – иногда хорошо.

    Ещё раз спасибо. :3 :3 :3

    http://hijos.ru/wp-content/uploads/comment_images/post-7130/2013/2/01e41c1233f19c7eb751940de014c1da.jpg

    [Ответить]

  2. 2 Никита:

    В последнем примере в первой строчке ошибка: в нашем случае мы возводим в квадрат не 23, а 42, исправте)

    [Ответить]

    Елизавета Александровна Калинина Reply:

    Спасибо! Исправила.

    [Ответить]

    Georgiev Reply:

    Pravilno: 42,a net 23!

    [Ответить]

  3. 3 Павел:

    Хочу акцентировать внимание на этой фразе.

    “Однако следует иметь в виду, что кроме данного числа, из разности необходимо будет вычитать еще и другие числа, так что иногда имеет выбрать цифру чуть меньше.”

    Если при очередном вычитании получилось отрицательное число, значит последний рассчитанный вами разряд нужно уменьшить на единичку.
    Завис из-за этого где-то на пол часа. В статье все сходилось, а на бумаге – нет.

    [Ответить]

    Елизавета Александровна Калинина Reply:

    Спасибо, исправила.

    [Ответить]

  4. 4 Антон:

    У меня почему то не получается вычислить вторую цифру. К примеру я хочу вычислить корень из 48558765
    Начало понятно. Разбиваю число на группы по 3 цифры в каждой. 485.587.656
    Потом я знаю, что 7 в кубе 343, а 8 в кубе 512. Соответственно первая цифра 7
    Потом вычитаю 343 из 485 и добавляю три цифры из второй группы, получается 142587.
    Дальше 7 я возвожу в квадрат, и умножаю на 3, получаю 147. И выбираю цифру, при умножении на которую получаю число, меньшее, чем число, образованное всеми цифрами разности, кроме двух последних, но достаточно близкое к нему.
    147*8=1176 147*9=1323.
    Получается, я должен выбрать цифру 9, но в ответе цифра 8.

    [Ответить]

    Елизавета Александровна Калинина Reply:

    Если Вы сложите все, что нужно: 132300+81\cdot7\cdot30+9^3=150039, это больше, чем 142587, т.е., как указано в алгоритме, нужно взять 8.

    [Ответить]

Оставьте свой отзыв

Добавить изображение