Алгоритмы ускоренных вычислений

Разделы: Математика


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

Мы сейчас приведем несколько таких алгоритмов. Сделаем предварительно два замечания.

При устных вычислениях удобно пользоваться “телефонным способом чтения чисел”: каждое число разбивается на грани по 1–2 цифры (иногда 3) в каждой, и каждая грань читается как отдельное число. Например: 5328 можно читать так: пятьдесят три двадцать восемь; 14253 можно читать так: один сорок два пятьдесят три.

Для облегчения формулировки многих алгоритмов ускоренных вычислений полезно воспользоваться выражением “к данному числу (а) приписать двумя цифрами (аналогично – тремя и т. д.) другое данное число b”.

Это выражение означает: “умножить число а на 100 (соответственно – на 1000 и т. д.) и к тому, что получится, прибавить число b”. Например, приписать к числу 38 двумя цифрами число 9 означает: написать число 3809; А приписать к тому же числу 38 двумя цифрами число 142 означает: написать число 3800 + 142, то есть число 3942. Запись удобно расположить следующим образом:

3842 = 3942.

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

Если спросить шестиклассника, какие двузначные числа труднее всего перемножить, то он, вероятно, скажет: “Числа, близкие к 100, например: 98·97”. На самом же деле такие двузначные числа очень легко умножить даже в уме. Назовите каких-либо 2 числа, близких к 100. Пусть назвали 94 и 97.

Пишем: 94·97= 9118 (девяносто один – восемнадцать).

              6    3

 Как мы произвели умножение? Узнаем, каков недостаток первого сомножителя (94) до 100. Это будет 6. Недостаток второго сомножителя (97) до 100 равен 3. Затем из одного сомножителя (94) вычитаем недостаток (3) второго сомножителя до 100; получаем 91. Приписываем к результату произведения 3·6, то есть 18.

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

  • найди недостатки сомножителей до сотни;
  • вычти из одного сомножителя недостаток второго до сотни;
  • к результату припиши двумя цифрами произведение недостатков сомножителей до сотни.

Возьмем другие примеры.

                   1                                                                                                                                                 1

92·85=7720=7820;                                                                              88·89=7732=7832.
8  15                                                                                                12 11

А почему можно так умножать числа? Ответ на этот вопрос дает алгебра.

Пусть нужно перемножить двузначные числа х и у, близкие к 100. Число х мы запишем так: х = 100 – а, где а – недостаток числа х до 100.

Второй сомножитель у запишем так: у = 100 – b. Тогда

х·у = (100 – а)(100 – b) = (100 – а)· 100 – 100b + ab = (100 – а – b)· 100 + аb = (х – b)· 100 + а·b.

Итак, в произведении всего х b сотен и, кроме того, еще а·b единиц. Отсюда и вытекает наш алгоритм. (Заметим, что он особенно удобен, если а и b меньше 25.)

Как возвести в квадрат число, близкое к 50? Покажем теперь, как в уме возвести в квадрат двузначное число, близкое к 50. Назовите любое число, близкое к 50, но большее, чем 50 (скажем, число 58). Записываем ответ: 582 = 3364.

Еще пример (называете, скажем, 63): 632 = 3969.

Как же мы так быстро произвели вычисления?

Мы пользовались определенным алгоритмом. Найти его нам поможет алгебра.

Пусть нужно возвести в квадрат число х, близкое к 50, но большее 50. Число это запишем так: х = 50+а, где а–избыток числа х над 50.

Например: 58 = 50 + 8, х = 58, а = 8;

63 = 50+ 13, х = 63, а = 13.

Итак, х = 50 + а, а = х – 50. х2 = (50 + а)2 = 2500 + 100а + а2 = (25 + а)·100 + а2 = (25 + х – 50)·100 + а2 = (х – 25)·100 + а2.

Отсюда следует алгоритм: если хочешь возвести в квадрат число, близкое к 50, но большее 50, то поступай так:

  • вычти из этого числа 25,
  • припиши к результату двумя цифрами квадрат избытка данного числа над 50.

Примеры.

1) 582 = 3364.

Объяснение. 58 – 25 = 33, 82 = 64, 582 = 3364.

2) 642 = 4096.

Объяснение. 64 – 25 = 39, 64 – 50 = 14, 142 = 196,

              1

642 =3996 = 4096.

Вы теперь легко сами придумаете алгоритм для возведения в
квадрат числа, которое близко к 50, но меньше, чем 50.

Проверьте себя на примере: 432 =1849.

Пользуясь алгеброй, придумайте алгоритм для быстрого
умножения двух трехзначных чисел, близких к 1000. Проиллюстрируйте его на примере: 997·936.

Придумайте алгоритм для быстрого возведения в квадрат
трехзначных чисел, близких к 100.

То же – для двузначных чисел, близких к 100.