Одной из наиболее трудоемких арифметических операций является извлечение корня квадратного, кубического или другой степени из данного числа. Относительно просто корень можно найти в том случае, когда заранее известно, что он представляет собой целое число, т. е. извлекается нацело. В некоторых случаях при извлечении корня приходится искать лишь приближенное его значение с наперед заданной точностью. Напомним, что приближенным значением величины а с точностью до числа σ>0 называется любое (вообще говоря, не единственное) число х, удовлетворяющее оценкам
а - δ≤x≤a + δ. Приближенное равенство π≈3,14, к примеру, означает, что число 3,14 есть приближенное значение числа n с точностью до половины единицы последнего разряда, т. е. до
В настоящем параграфе вы познакомитесь с некоторыми методами нахождения корней, позволяющими довольно скоро и без особых усилий получать вполне удовлетворительные приближения.
3.1. Сколько знаков до запятой? Десятичная запись данного числа имеет n знаков до запятой. Можно ли заранее сказать, сколько знаков до запятой будет иметь десятичная запись корня квадратного из данного числа?
3.2. Корни других степеней Как по количеству знаков до запятой в десятичной записи данного числа определить количество знаков до запятой в десятичной записи корня кубического или корня другой степени из этого числа?
3.3. Сведение к целому числу Каким образом можно свести извлечение корня какой-либо степени из конечной десятичной дроби к извлечению корня той же степени из целого числа? Как связаны между собой числа
3.4. Разложив на простые множители Разложив целое число на простые множители, можно определить, извлекается ли из него нацело корень данной степени. Попробуйте таким путем определить, корни каких степеней извлекаются нацело из числа 1728.
3.5. Корень пятой степени в уме Возведите в пятую степень каждое из чисел 0, 1, 2, ..., 9 и придумайте способ быстрого извлечения корня пятой степени из данного целого числа, имеющего в десятичной записи не более 10 знаков, в предположении, что этот корень извлекается из данного числа нацело.
Найдите корни
3.6. Корень кубический в уме Возведите в куб каждое из чисел 0, 1, 2, ..., 9 и придумайте способ быстрого извлечения корня кубического из данного целого числа, имеющего в десятичной записи не более шести знаков, в предположении, что этот корень извлекается из данного числа нацело. Найдите корни
3.7. Корень квадратный в уме Каким способом можно быстро извлечь корень квадратный из целого числа, имеющего в десятичной записи не более четырех знаков, в предположении, что этот корень извлекается из данного числа нацело?
Найдите корни Попробуйте найти корень наиболее простым способом.
3.8. По остатку от деления на 11 Укажите, как по остатку от деления на 11 куба целого числа можно найти остаток от деления на 11 самого числа. Пользуясь признаком делимости на 11, придумайте способ быстрого извлечения корня кубического из данного целого числа, имеющего в десятичной записи от семи до девяти знаков, в предположении, что этот корень извлекается нацело. Найдите корень
3.9. Алгоритм извлечения корня квадратного Для нахождения корня произведем следующие действия (см. рис. 2):
Рис. 2
а) десятичную запись числа 273 529 разобьем на группы по две цифры (как в решении задачи 3.1);
б) для старшей группы цифр, образующей число 27, подберем такую цифру, чтобы ее квадрат был наибольшим, но не превосходил числа 27; такой цифрой будет 5, ее и запишем в качестве первой цифры ответа;
в) из старшей группы цифр вычтем найденный в предыдущем пункте квадрат первой цифры ответа и к полученной разности (остатку) 27 - 25 = 2 припишем справа (снесем) следующую группу цифр 35; получим число 235;
г) удвоив записанное в ответе число 5, припишем справа такую цифру, чтобы произведение полученного в результате числа на эту цифру было наибольшим, но не превосходило числа 235; такой цифрой будет 2 (ибо 102*2 = 204≤235, но 103*3 = 309>235), ее и запишем в качестве второй цифры ответа;
д) из числа 235 вычтем найденное в предыдущем пункте произведение 204 и к остатку 31 снесем следующую группу цифр 29; получим число 3129;
е) удвоив записанное в ответе число 52, припишем справа такую цифру, чтобы произведение полученного в результате числа на эту цифру было наибольшим, но не превосходило числа 3129; такой цифрой будет 3 (ибо 1043*3 = 3129), ее и запишем в качестве третьей цифры ответа;
ж) разность между снесенным числом 3129 и полученным в предыдущем пункте произведением равна 0, поэтому корень квадратный из числа 273 529 извлекается нацело и равен записанному в ответе числу 523.
Приведите обоснование предложенному алгоритму и найдите с его помощью корень
3.10. Где остановиться? Объясните, как следует поступать в случае, если предложенный в задаче 3.9 алгоритм в применении к данному числу не заканчивается ни на каком шаге, т. е. не наступает ситуация, описанная в п. ж) задачи 3.9. Докажите, что предложенный алгоритм позволяет и в этом случае находить значение корня квадратного с любой наперед заданной точностью. Найдите приближенное значение с точностью до
3.11. Приближенная формула корня квадратного Найдя какое-нибудь, пусть даже совсем грубое, приближенное значение х>0 корня квадратного из данного числа а = х2 + b, мы можем значительно улучшить приближение с помощью формулы
Докажите, что погрешность полученного приближения будет удовлетворять оценкам
Какое значение для даст приведенная формула, если в качестве грубого приближения взять целую часть этого корня, а именно число х = 2?
3.12. Способ Герона Выберем какое-либо приближение х0 корня квадратного из данного числа а (например, х0 = а) и будем последовательно улучшать приближения по формулам
и т. д. Докажите, что погрешности (для приближений числами последовательности хn) удовлетворяют оценкам
Проверьте, что этот способ сводится к многократному применению приближенной формулы корня квадратного (см. задачу 3.11). Найдите с помощью способа Герона приближенное значение , взяв х0 = 2 и проделав два шага. Оцените точность найденного приближения.
3.13. Почти удвоение точности Пусть после вычисления первых n значащих цифр корня квадратного из данного числа а (например, с помощью алгоритма задачи 3.9) в ответе получилось приближенное значение х и остаток b = а - х2. Объясните, почему приближение задает в дополнение к п первым знакам еще по меньшей мере n-1 верных знаков корня. Пользуясь вычислениями задачи 3.10, найдите приближенное значение с точностью до
3.14. Приближенная формула корня кубического Найдя какое-нибудь приближение x>0 корня кубического из данного числа а = х2 + b, можно значительно улучшить приближение с помощью формулы
Оцените при b>0 погрешность полученного приближения, рассмотрев отдельно случай, когда число х представляет собой целую часть искомого корня. Найдите приближенное значение по указанной формуле, оценив погрешность.
3.1. Пусть число а содержит в десятичной записи m знаков до запятой. Тогда справедливы оценки
из которых следует, что квадрат числа а имеет либо 2m, либо 2m-1 знаков до запятой, так как
Поэтому если данное число имеет четное число n = 2m знаков или нечетное число n = 2m-1 знаков до запятой, то корень квадратный из него имеет m знаков до запятой.
Обычно, чтобы найти количество знаков корня квадратного, цифры десятичной записи исходного числа разбивают на группы справа налево, начиная от запятой и включая в каждую группу по две цифры (кроме, быть может, самой левой группы, в которой в случае нечетного количества этих цифр окажется только одна цифра). Тогда количество полученных групп как раз и совпадет с искомым количеством знаков корня.
3.2. Как и в решении задачи 3.1, заметим, что если число а содержит в десятичной записи m знаков до запятой, то его куб имеет либо 3m, либо 3m-1, либо 3m-2 знака до запятой, так как
Поэтому искомое количество знаков корня кубического совпадает с количеством групп, на которые разбиваются
цифры десятичной записи исходного числа справа налево, считая от запятой по три цифры в группе (кроме, возможно, последней группы).
Аналогично искомое количество знаков корня k-я степени равно количеству групп по k цифр (в последней группе может быть менее k цифр), на которые разбиваются цифры десятичной записи исходного числа, считая от запятой. Это вытекает из неравенств
справедливых для любого числа а, имеющего в десятичной записи m знаков до запятой.
3.3. Для того чтобы свести извлечение корня k-й степени из конечной десятичной дроби к извлечению корня k-й степени из целого числа, достаточно в исходной дроби перенести запятую вправо на подходящее число qk разрядов, а затем извлечь корень из полученного целого числа и перенести запятую у результата влево на q разрядов. Справедливость этого утверждения основывается на равенстве
Из этого же равенства получаем зависимость между числами
а для чисел зависимость далеко не так удобна:
3.4. Так как 1728 = 26*38, то нацело из числа 1728 извлекается только корень кубический
Дело в том, что показатели 6 и 3 степеней, в которых простые множители входят в разложение данного числа, имеют лишь один общий делитель, отличный от 1. Этот общий делитель - число 3 - как раз и указывает на возможность извлечения корня соответствующей (третьей) степени.
3.5. Возведем каждое из целых чисел от 0 до 9 в пятую степень:
Заметим, что каждое из полученных в результате чисел оканчивается той же цифрой, что и соответствующее основание пятой степени. Тот же вывод можно распространить и на случай, когда основанием пятой степени является многозначное целое число, поскольку последняя цифра результата при этом полностью определяется последней цифрой основания степени.
Теперь при извлечении корня пятой степени из данного числа в предположении, что этот корень извлекается нацело, очень легко определяется последняя цифра корня - она просто совпадает с последней цифрой данного числа. Например, последняя цифра корня равна 7, однако искомый корень имеет в десятичной записи всего одну цифру до запятой (см. задачу 3.2), а значит, этот корень просто равен 7, что подтверждается приведенными выше вычислениями.
Аналогично легко определяется последняя цифра 3 корня Что же касается предпоследней цифры корня (а согласно решению задачи 3.2, если этот корень целый, то он представляет собой двузначное число), то ее можно определить с помощью сравнений:
205 = 32'00000≤64'36343≤243'00000 = 305, из которых следует, что искомый корень удовлетворяет неравенствам
Поэтому первая его цифра не может быть никакой другой цифрой, кроме 2. Следовательно, сам корень равен 23, что подтверждается непосредственной проверкой возведением его в пятую степень.
3.6. Возведем каждое из целых чисел от 0 до 9 в куб:
Заметим, что все полученные в результате числа оканчиваются разными цифрами. Проанализировав, какими именно цифрами они оканчиваются, заключаем, что последняя цифра куба любого целого числа либо совпадает с последней цифрой основания (если эта цифра есть 0, 1, 4, 5, 6 или 9), либо совпадает с дополнением последней цифры основания до 10 (если эта цифра есть 2, 3, 7 или 8).
Таким образом, последняя цифра числа если это число является целым, однозначно определяется последней цифрой его куба 2744, стало быть, она равна 4. Отбрасывая три последние цифры числа 2744, мы получаем число 2, которое расположено между кубами чисел 1 и 2, поэтому первая цифра искомого корня (а их всего две согласно решению задачи 3.2) равна 1:
Итак, искомый корень равен 14, что подтверждается проверкой.
Наконец, аналогично находим, что последняя цифра числа если это число является целым, равна 8, а первая (она же предпоследняя) равна 7, так как 73 = 343≤474≤83 = 512, т. е. это число равно 78, что затем проверяется непосредственно.
3.7. В отличие от случаев с нечетными степенями, рассмотренных в задачах 3.5 и 3.6, последняя цифра целого числа, вообще говоря, не восстанавливается однозначно по последней цифре его квадрата. Действительно, одинаковыми цифрами оканчиваются квадраты чисел, взаимно дополняющих друг друга до 10:
Но "индивидуальными" цифрами оканчиваются квадраты 02 = 0, 52 = 25. Таким образом, последняя цифра числа предположении, что это число целое, равна 5, а первая равна 9, так как
Поэтому искомый корень может быть равен только 95, что и оказывается верным.
Менее простым для вычисления является корень квадратный из числа 3249. Первая цифра этого корня равна 5, так как 52 = 25≤32<36 = 62, а вторая, если искомое число целое, равна либо 3, либо 7, т. е. вторая цифра либо меньше 5, либо больше 5. Но это можно проверить, сравнив число с числом 55. Из оценки (см. задачу 1.17)
552 = 5*6*100 + 25 = 3025<3249 вытекает, что искомый корень больше 55, а значит, равен 57, что подтверждается проверкой.
Для нахождения числа в предположении, что оно целое, определим первые две его цифры из неравенств
122 = 144≤158<169 = 132. Итак, искомый корень трехзначен, начинается цифрами 1, 2, а кончается либо цифрой 4, либо цифрой 6. Так как этот корень больше числа 125, что следует из оценки
1252 = 12*13*100 + 25 = 15 625<15 876, то он равен 126.
3.8. Подсчет показывает (см. решение задачи 3.6), что остатки от деления на 11 кубов целых чисел от 0 до 10 равны соответственно 0, 1, 8, 5, 9, 4, 7, 2, 6, 3, 10. Анализ этих остатков показывает, что все они различны и по ним однозначно восстанавливаются соответствующие основания кубов. Поэтому, зная остаток от деления на 11 данного числа, из которого нацело извлекается корень кубический, можно определить остаток от деления на 11 этого корня. Если мы знаем первую и последнюю цифры трехзначного корня кубического (а именно таким он должен оказаться в условиях задачи), то средняя цифра этого корня определяется остатком от его деления на 11.
Например, методами задачи 3.6 вычисляются первая цифра 4 и последняя цифра 3 корня кубического из числа 99 252 847. Сосчитав остаток от деления исходного числа на 11, равный остатку от деления на 11 выражения
7 - 4 + 8 - 2 + 5 - 2 + 9 - 9 = 12 (см. признак делимости - задачу 2.20), т. е. равный числу 1, заключаем, что остаток от деления на 11 искомого корня равен 1. После этого из условия, что число 4*3, ас ним и число 3 - x + 4 = 7 - х, должно давать при делении на 11 остаток 1, мы однозначно определяем среднюю цифру х = 6 корня и в конечном счете сам корень 463. Остается лишь убедиться в том, что он действительно удовлетворяет равенству 4633 = 99 252 847.
3.9. Предложенный алгоритм в разобранном случае базируется на представлении
273 529 = 5*5*10 000 + (2*5*10 + 2)*2*100 + (2*52*10 + 3)*3 = 500*500 + (2*500 + 20)*20 + (2*520 + 3)*3 = 5002 + 2*500*20 + 202 + 2*520*3 + 32 = (500 + 20 + 3)2, из которого вытекает равенство В общем же случае алгоритм позволяет представить данное число, являющееся квадратом целого числа, в виде
где числа а1, a2, ..., an выбираются максимально возможными, кратными соответствующим степеням десяти: 10n-1, 10n-2, ..., 100, т. е. указывают цифры в соответствующих разрядах десятичной записи корня.
Нахождение корня по этому алгоритму записывается так:
откуда следует, что искомый корень равен 2874.
3.10. Согласно утверждению задачи 3.3, можно без ограничения общности считать число, из которого требуется извлечь корень, целым и даже сколь угодно большим (если оно положительно), т. е. имеющим больше пар цифр, чем нужно получить знаков в десятичной записи корня. Этого можно достичь временным домножением числа на правильно подобранную четную степень числа 10 и последующим делением значения корня на вдвое меньшую степень числа 10. Если на последнем шагу получается ненулевой остаток, то можно оборвать алгоритм и считать получившийся при этом ответ приближенным значением корня с недостатком (на каждом шагу цифры ответа выбираются максимально возможными, поэтому любая десятичная дробь, превышающая полученную в ответе хотя бы по одному из ее найденных разрядов, будет больше искомого корня). Округлив полученную дробь до предпоследнего разряда, мы найдем нужное число точных знаков корня.
Для нахождения значения с точностью до произведем следующие действия:
из которых получаем
3.11. Так как
то Возводя в квадрат обе части равенства
получаем откуда имеем
что и требовалось доказать.
Для приближенная формула дает значение с точностью до 1/64.
3.12. Из преобразований
при n = 0 получаем первую из требуемых оценок, а при n = 1, 2, ... имеем, что число δn положительно, следовательно, и
Каждое из чисел
фактически получается с помощью приближенной формулы корня квадратною (см. задачу 3.11) из числа а по грубому приближению хn-1 и остатку b. Поэтому предложенный способ представляет собой не что иное, как многократное применение этой формулы.
Для нахождения возьмем х0 = 2 и получим, согласно алгоритму,
Оценим погрешность приближения:
Так как то
а значит, приближение сразу гарантирует три верных знака после запятой (а на самом деле даже четыре знака),
3.13. Пусть число х составлено из n первых цифр ответа, а число b равно указанной в условии разности (полученной на последнем шаге алгоритма задачи 3.9). Тогда без ограничения общности можно считать, что число х целое (см. задачу 3.3) и x≥10n-1, а искомый корень равен х + 8 и δ<1. Погрешность приближения
согласно утверждениям задачи 3.12, не превосходит числа
Таким образом, приближенное значение превышает точное, но менее чем на половину единицы (n-1)-го разряда после запятой, т. е. оно, по существу, задает еще n-1 верных знаков корня
Применяя доказанный факт к полученным в решении задачи 3.10 значениям х = 223 606 и b = 356 764, находим частное дающее следующие пять верных цифр корня:
3.14. Возводя в куб обе части равенства
получаем
откуда имеем
Если х - наибольшее натуральное число, куб которого не превосходит искомого корня кубического, то справедливы неравенства
из которых получаем оценки
Наконец, для приближенная формула дает значение
с точностью до