7,4K подписчиков

Способы умножения чисел

Я тут вспомнил, что многие школьники умножают столбиком на бумажке вообще любые числа. Многие вообще всегда пишут столбик. У меня были ученики, которые и 7*8 записывали друг над другом, и 100*50 - тоже.

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

Но не просто так, а с анализом каждого способа.

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

  • Сложение (многозначные числа)
  • Табличное умножение (однозначные числа)
  • Сдвиг - приписывание нуля (или запись без нуля, но со сдвигом)
  • Вычитание (многозначные числа)
  • Удвоение - сложение числа с собой (выделю это в отдельную операцию)
  • Целочисленное деление на 2 (без остатка)
  • Запись на бумаге

Сложность этих операций сильно неравномерна. Ну, например, деление 2 куда сложнее сдвига. А некоторые вообще сугубо индивидуальны - кто не выучил таблицу умножения, тому второй пункт будет вообще недоступен.

Теперь к самим способам.

1. Самый популярный, как я уже заметил - умножение столбиком.

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

Эффективность способа довольно сомнительна (особенно смешно смотрятся попытки умножать однозначные числа столбиком), зато универсальность выше всяких похвал. Выполнять такое умножение может любой неграмотный человек, совершенно не вникая в суть: просто подставляй числа из таблицы и складывай. И всё же, в некоторых ситуациях этот способ действительно рентабельнее прочих. Например, умножение 36 на 78. Кстати, прекрасно работает и в других системах счисления (если есть соответствующая таблица)

Умножение столбиком в двоичной системе счисления
Умножение столбиком в двоичной системе счисления

2. Умножение сложением.

Это даже не способ, это определение умножения. Почему-то несправедливо забываемое большинством школьников и даже учителей.

Требует только сложений.

Простота часто компенсируется длительностью. Это, наверное, самый трудоёмкий способ, который можно придумать (такова природа всех определений). Хотя, в можно придумать ситуации, в которых сложение будет работать эффективнее и быстрее любого другого. Например, умножение на 2 - потребует всего одного сложения, каким бы ни был первый множитель.

3. Китайский способ умножения

Не очень известный, хотя безумно простой. Технически, это то же умножение столбиком, но за счёт визуализации умножения с помощью пересечения линий, не требует табличных умножений. Но точно так же требует сложений, сдвигов. И запись снова обязательна, потому что всё-таки это визуальный способ.

37*24 = 600+(120+140)+28
37*24 = 600+(120+140)+28

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

4. Русский крестьянский способ умножения.

Способ простой и вместе с тем "магический". Хотя, если подумать, столбик и китайский - тоже некую магию под собой имеют, но крестьянский способ основывается на менее привычной - двоичной системе счисления. И тем не менее, оказался достаточно простым, чтобы малограмотные (а то и вообще безграмотные) крестьяне могли им умножать вполне крупные по тем временам числа.

Умножение 37*26
Умножение 37*26

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

Казалось бы, деление - операция сложная. Но деление пополам - гораздо проще любого другого деления. И по сути своей сводится к... удвоению. Из всех элементарных операций - удвоение весьма простая.

Рентабельность метода очень сомнительная. Хотя есть буквально несколько чисел, умножение на которые выведет этот способ на первое место с большим отрывом. Это степени двойки - 2 4 8 16 32 и так далее.

5. Последним я рассмотрю метод, который когда-то назывался в школьной программе "приёмы быстрого счёта".

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

Суть его в том, что для каждой пары множителей мы выбираем оптимальный "маршрут" из элементарных действий. Какие это могут быть "маршруты"? Например, при умножении 23*48 маршрут может быть таким:

23->(сдвиг)->2300->(деление на 2)->1150->(вычитание)->1127->(вычитание)->1104.

Или другой

48->(удвоение)->96->(сдвиг)->960->(сложение)->1056->(сложение)->1104.

Как видно, этот пример не однозначный. Для каждой пары чисел, для каждого человека будет новый маршрут. Да что там! Один и тот же человек одну и ту же пару будет сегодня перемножать так, а завтра - этак.

Рентабельность этого способа выше всех прочих. Гарантированно. Потому и называется "быстрый счёт". Но есть небольшая трудность - нужно превосходно уметь выполнять каждую операцию из списка (повторюсь - за исключением записи).

Я предложил далеко не все интересные способы умножения. Например, не стал рассматривать разложение на множители через табличные умножения, хотя он тоже имеет место быть. Кстати, если у кого есть излюбленный способ умножения - делитесь в комментариях.