В арифметике длинное деление — это стандартный алгоритм деления, подходящий для деления многозначных индо-арабских чисел ( позиционная нотация ), который достаточно прост для выполнения вручную. Он разбивает задачу деления на ряд более простых шагов.
Как и во всех задачах на деление, одно число, называемое делимым , делится на другое, называемое делителем , давая результат, называемый частным . Это позволяет выполнять вычисления с произвольно большими числами, следуя серии простых шагов. [1] Сокращенная форма длинного деления называется коротким делением , которое почти всегда используется вместо длинного деления, когда делитель состоит только из одной цифры.
Похожие алгоритмы существуют с 12-го века. [2] Аль-Самавал аль-Магриби (1125–1174) выполнял вычисления с десятичными числами, которые по сути требуют деления в столбик, что приводит к бесконечным десятичным результатам, но без формализации алгоритма. [3] Кальдрини (1491) является самым ранним печатным примером деления в столбик, известным как метод Данды в средневековой Италии, [4] и он стал более практичным с введением десятичной записи для дробей Питиском (1608). Конкретный алгоритм в современном использовании был введен Генри Бриггсом около 1600 года . [5]
Недорогие калькуляторы и компьютеры стали наиболее распространенным способом решения задач на деление, исключая традиционное математическое упражнение и уменьшая образовательные возможности показать, как это сделать с помощью бумаги и карандаша. (Внутри эти устройства используют один из множества алгоритмов деления , более быстрый из которых опирается на приближения и умножения для выполнения задач.) В Северной Америке деление в столбик было специально направлено на снижение акцента или даже исключение из школьной программы в результате реформы математики , хотя оно традиционно вводилось в 4-м, 5-м или даже 6-м классах. [6]
В англоязычных странах длинное деление не использует косую черту деления ⟨ ∕ ⟩ или знак деления ⟨÷⟩, а вместо этого создает таблицу . [7] Делитель отделяется от делимого правой скобкой ⟨ ) ⟩ или вертикальной чертой ⟨ | ⟩ ; делимое отделяется от частного чертой (т. е. чертой сверху ) . Сочетание этих двух символов иногда называют символом длинного деления или скобкой деления . [8] Он развился в 18 веке из более ранней однострочной записи, разделяющей делимое от частного левой скобкой . [9] [10]
Процесс начинается с деления самой левой цифры делимого на делитель. Частное (округленное до целого числа) становится первой цифрой результата, а остаток вычисляется (этот шаг обозначается как вычитание). Этот остаток переносится вперед, когда процесс повторяется для следующей цифры делимого (обозначается как «приведение» следующей цифры к остатку). Когда все цифры обработаны и не остается остатка, процесс завершается.
Ниже показан пример, представляющий деление 500 на 4 (с результатом 125).
1 2 5 (Пояснения) 4)500 4 ( 4 × 1 = 4) 1 0 ( 5 – 4 = 1 ) 8 ( 4 × 2 = 8) 2 0 (10 – 8 = 2 ) 20 ( 4 × 5 = 20) 0 (20 - 20 = 0)
Более подробная разбивка шагов выглядит следующим образом:
Если бы последний остаток, когда у нас закончились цифры делимого, был бы чем-то отличным от 0, было бы два возможных варианта действий:
31.75 4)127.00 12 (12 ÷ 4 = 3)07 ( остаток 0 , снести следующую цифру) 4 (7 ÷ 4 = 1 r 3) 3.0 (опустите 0 и десятичную точку) 2,8 (7 × 4 = 28, 30 ÷ 4 = 7 р 2) 20 (добавлен дополнительный ноль) 20 (5 × 4 = 20) 0
В этом примере десятичная часть результата вычисляется путем продолжения процесса за пределами разряда единиц, «отбрасывая» нули, представляющие собой десятичную часть делимого.
Этот пример также иллюстрирует, что в начале процесса шаг, который производит ноль, может быть опущен. Поскольку первая цифра 1 меньше делителя 4, первый шаг вместо этого выполняется над первыми двумя цифрами 12. Аналогично, если бы делитель был 13, то первый шаг выполнялся бы над 127, а не над 12 или 1.
Базовое представление шагов процесса (выше) фокусируется на том, какие шаги должны быть выполнены, а не на свойствах этих шагов , которые гарантируют, что результат будет правильным (в частности, что q × m + r = n , где q — это конечное частное, а r — конечный остаток). Небольшое изменение представления требует большего объема записи и требует, чтобы мы изменили, а не просто обновили цифры частного, но может пролить больше света на то, почему эти шаги на самом деле дают правильный ответ, позволяя оценивать q × m + r в промежуточных точках процесса. Это иллюстрирует ключевое свойство, используемое при выводе алгоритма (ниже).
В частности, мы изменяем вышеописанную базовую процедуру таким образом, чтобы заполнить пробел после цифр строящегося частного нулями, по крайней мере до единиц, и включить эти нули в числа, которые мы записываем под скобкой деления.
Это позволяет нам поддерживать инвариантное отношение на каждом шаге: q × m + r = n , где q — частично построенное частное (над скобкой деления), а r — частично построенный остаток (нижнее число под скобкой деления). Обратите внимание, что изначально q=0 и r=n , поэтому это свойство выполняется изначально; процесс уменьшает r и увеличивает q с каждым шагом, в конечном итоге останавливаясь, когда r<m, если мы ищем ответ в форме частного + целого остатка.
Возвращаясь к примеру 500 ÷ 4 , приведенному выше, мы находим
1 2 5 ( q , изменяется от 000 до 100, до 1 20, до 1 2 5 согласно примечаниям ниже) 4)500 400 ( 4 × 100 = 400) 100 (500 - 400 = 100 ; теперь q = 100 , r = 100 ; обратите внимание, q×4+r = 500 .) 80 ( 4 × 20 = 80) 20 (100 - 80 = 20 ; теперь q = 1 20 , r = 20 ; обратите внимание , q×4+r = 500 .) 20 ( 4 × 5 = 20) 0 ( 20 - 20 = 0; теперь q = 1 2 5 , r = 0 ; обратите внимание q×4+r = 500 .)
Можно использовать делитель любого количества цифр. В этом примере 1260257 нужно разделить на 37. Сначала задача ставится следующим образом:
37)1260257
Цифры числа 1260257 берутся до тех пор, пока не встретится число большее или равное 37. Таким образом, 1 и 12 меньше 37, но 126 больше. Затем вычисляется наибольшее кратное 37, меньшее или равное 126. Таким образом, 3 × 37 = 111 < 126, но 4 × 37 > 126. Кратное 111 записывается под 126, а 3 записывается сверху, где и будет решение:
3 37)1260257 111
Внимательно обратите внимание, в какой колонке разряда записаны эти цифры. 3 в частном стоит в той же колонке (десятки тысяч), что и 6 в делимом 1260257, то есть в той же колонке, что и последняя цифра числа 111.
Затем 111 вычитается из строки выше, игнорируя все цифры справа:
3 37)1260257 111 15
Теперь цифра из следующего меньшего разряда делимого копируется вниз и добавляется к результату 15:
3 37)1260257 111 150
Процесс повторяется: вычитается наибольшее кратное 37, меньшее или равное 150. Это 148 = 4 × 37, поэтому сверху добавляется 4 как следующая цифра частного. Затем результат вычитания расширяется еще одной цифрой, взятой из делимого:
34 37)1260257 111 150 148 22
Наибольшее кратное 37, меньшее или равное 22, равно 0 × 37 = 0. Вычитание 0 из 22 дает 22, мы часто не записываем шаг вычитания. Вместо этого мы просто берем еще одну цифру из делимого:
340 37)1260257 111 150 148 225
Процесс повторяется до тех пор, пока 37 не разделит последнюю строку ровно:
34061 37)1260257 111 150 148 225 222 37
Для недесятичных валют (например, британской системы £sd до 1971 года) и мер (например, avoirdupois ) необходимо использовать смешанное деление. Рассмотрим деление 50 миль 600 ярдов на 37 частей:
миля - ярд - фут - дюйм 1 - 634 1 9 п. 15" 37) 50 - 600 - 0 - 0 37 22880 66 348 13 23480 66 348 1760 222 37 333 22880 128 29 15 ===== 111 348 == 170 === 148 22 66 ==
Каждый из четырех столбцов обрабатывается по очереди. Начиная с миль: 50/37 = 1 остаток 13. Дальнейшее деление невозможно, поэтому выполните длинное умножение на 1760, чтобы преобразовать мили в ярды, результат составит 22 880 ярдов. Перенесите это в верхнюю часть столбца ярдов и прибавьте к 600 ярдам в делимом, что даст 23 480. Длинное деление 23 480 / 37 теперь выполняется как обычно, давая 634 с остатком 22. Остаток умножается на 3, чтобы получить футы, и переносится в столбец футов. Длинное деление футов дает 1 остаток 29, который затем умножается на двенадцать, чтобы получить 348 дюймов. Длинное деление продолжается, и последний остаток 15 дюймов отображается в строке результата.
Если частное не является целым числом и процесс деления продолжается за пределами десятичной точки, может произойти одно из двух:
Китай, Япония, Корея используют ту же нотацию, что и англоязычные страны, включая Индию. В других местах используются те же общие принципы, но цифры часто располагаются по-другому.
В Латинской Америке (кроме Аргентины , Боливии , Мексики , Колумбии , Парагвая , Венесуэлы , Уругвая и Бразилии ) расчет почти такой же, но записывается по-другому, как показано ниже с теми же двумя примерами, использованными выше. Обычно частное записывается под чертой, нарисованной под делителем. Иногда справа от расчетов рисуется длинная вертикальная линия.
500 ÷ 4 = 1 2 5 (Пояснения) 4 ( 4 × 1 = 4) 1 0 ( 5 - 4 = 1 ) 8 ( 4 × 2 = 8) 2 0 (10 - 8 = 2 ) 20 ( 4 × 5 = 20) 0 (20 - 20 = 0)
и
127 ÷ 4 = 31,75 124 30 (свести 0; десятичная дробь в частное) 28 (7 × 4 = 28) 20 (добавляется еще один ноль) 20 (5 × 4 = 20) 0
В Мексике используется общепринятая в английском языке система обозначений, за исключением того, что примечается только результат вычитания, а расчет выполняется в уме, как показано ниже:
1 2 5 (Пояснения) 4)500 1 0 ( 5 - 4 = 1 ) 2 0 ( 10 - 8 = 2 ) 0 (20 - 20 = 0)
В Боливии , Бразилии , Парагвае , Венесуэле , франкоязычной Канаде , Колумбии и Перу используется европейская нотация (см. ниже), за исключением того, что частное не отделено вертикальной линией, как показано ниже:
127| 4 − 124 31,75 30 − 28 20 − 20 0
Та же процедура применяется в Мексике , Уругвае и Аргентине , только результат вычитания записывается, а расчет выполняется в уме.
В Испании, Италии, Франции, Португалии, Литве, Румынии, Турции, Греции, Бельгии, Беларуси, Украине и России делитель находится справа от делимого и отделен вертикальной чертой. Деление также происходит в столбце, но частное (результат) пишется под делителем и отделено горизонтальной чертой. Такой же метод используется в Иране, Вьетнаме и Монголии.
127| 4 − 124 |31,75 30 − 28 20 − 20 0
На Кипре, как и во Франции, длинная вертикальная черта отделяет делимое и последующие вычитания от частного и делителя, как в приведенном ниже примере 6359, деленного на 17, что дает 374 с остатком 1.
6359| 17 − 51 |374 125 | − 119 | 69| − 68 | 1|
Десятичные числа не делятся напрямую, делимое и делитель умножаются на степень десяти, так что деление включает два целых числа. Таким образом, если бы мы делили 12,7 на 0,4 (используя запятые вместо десятичных точек), делимое и делитель сначала изменились бы на 127 и 4, а затем деление продолжалось бы так, как описано выше.
В Австрии , Германии и Швейцарии используется форма записи нормального уравнения. <dividend> : <divisor> = <quotient>, где двоеточие ":" обозначает двоичный инфиксный символ для оператора деления (аналогично "/" или "÷"). В этих регионах десятичный разделитель записывается в виде запятой. (ср. первый раздел стран Латинской Америки выше, где это делается практически таким же образом):
127 : 4 = 31,75 − 12 07 − 4 30 − 28 20 − 20 0
Такая же система обозначений принята в Дании , Норвегии , Болгарии , Северной Македонии , Польше , Хорватии , Словении , Венгрии , Чехии , Словакии , Вьетнаме и Сербии .
В Нидерландах используются следующие обозначения:
12 / 135 \ 11,25 12 15 12 30 24 60 60 0
В Финляндии итальянский метод, описанный выше, был заменен англо-американским в 1970-х годах. Однако в начале 2000-х годов некоторые учебники переняли немецкий метод, поскольку он сохраняет порядок между делителем и делимым. [11]
Каждое натуральное число может быть однозначно представлено в произвольной системе счисления в виде последовательности цифр , где для всех , где — количество цифр в . Значение в терминах его цифр и основания равно
Пусть будет делимым, а будет делителем, где — количество цифр в . Если , то частное и остаток . В противном случае мы повторяем с , прежде чем остановиться.
Для каждой итерации пусть будет извлеченным до сих пор частным, будет промежуточным делимым, будет промежуточным остатком, будет следующей цифрой исходного делимого и будет следующей цифрой частного. По определению цифр в базе , . По определению остатка, . Все значения являются натуральными числами. Начинаем
первые цифры .
При каждой итерации три уравнения верны:
Существует только один такой, что .
Согласно определению остатка ,
Для левой части неравенства выберем наибольшее такое, что
Всегда существует наибольшее такое , потому что и если , то
но поскольку , , , это всегда верно. Для правой части неравенства мы предполагаем, что существует наименьшее такое, что
Поскольку это наименьшее значение , при котором неравенство выполняется, это должно означать, что для
что в точности совпадает с левой частью неравенства. Таким образом, . Поскольку всегда будет существовать, то будет равно , и существует только одно уникальное значение , которое справедливо для неравенства. Таким образом, мы доказали существование и единственность .
Окончательное частное равно , а окончательный остаток равен
В десятичной системе счисления , используя приведенный выше пример с и , начальные значения и .
Таким образом, и .
В системе счисления с основанием 16 , при этом и , начальные значения равны и .
Таким образом, и .
Если у вас нет в памяти таблиц сложения , вычитания или умножения для основания b , то этот алгоритм все равно будет работать, если числа перевести в десятичную систему счисления , а в конце перевести обратно в основание b . Например, в приведенном выше примере
и
с . Начальные значения — и .
Таким образом, и .
Этот алгоритм можно реализовать, используя те же записи на бумаге, что показаны в разделах выше.
d8f45 п. 5 12) ф412дф еа а1 90 112 10е 4д 48 5ф 5а 5
Если частное не ограничено целым числом, то алгоритм не завершается для . Вместо этого, если то по определению. Если остаток равен нулю на любой итерации, то частное является -адической дробью и представляется в виде конечного десятичного разложения в позиционной системе счисления. В противном случае это все еще рациональное число , но не -адическое рациональное, и вместо этого представляется в виде бесконечного повторяющегося десятичного разложения в позиционной системе счисления.
На каждой итерации наиболее трудоемкой задачей является выбор . Мы знаем, что существуют возможные значения, поэтому мы можем найти с помощью сравнений . Каждое сравнение потребует оценки . Пусть будет количеством цифр в делимом , а будет количеством цифр в делителе . Количество цифр в . Умножение равно , и аналогично вычитание . Таким образом, требуется , чтобы выбрать . Оставшаяся часть алгоритма — это сложение и сдвиг цифр и влево на одну цифру, и поэтому занимает время и по основанию , поэтому каждая итерация занимает , или просто . Для всех цифр алгоритм занимает время , или по основанию .
Длинное деление целых чисел можно легко расширить, включив нецелые делимые, если они рациональны . Это связано с тем, что каждое рациональное число имеет повторяющееся десятичное разложение. Процедуру также можно расширить, включив делители, которые имеют конечное или конечное десятичное разложение (т. е. десятичные дроби ). В этом случае процедура включает умножение делителя и делимого на соответствующую степень десяти, так что новый делитель будет целым числом — используя тот факт, что a ÷ b = ( ca ) ÷ ( cb ) — и затем продолжая, как указано выше.
Обобщенная версия этого метода, называемая полиномиальным делением в столбик, также используется для деления полиномов (иногда с использованием сокращенной версии, называемой синтетическим делением ).