Алгоритм вычитания

Вычитание однозначного числа b из однозначного или двузначного числа а, не превышающего 18, сводится к поиску такого числа с, что b + с = а, и происходит с учетом таблицы сложения однозначных чисел.

Если же числа а и b многозначные и b < а, то смысл действия вычи­тания остается тем же, что и для вычитания в пределах 20, но техника нахождения разности становится иной: разность многозначных чисел чаще всего находят, производя вычисления столбиком, по определен­ному алгоритму. Выясним, каким образом возникает это алгоритм, какие теоретические факты лежат в его основе.

Рассмотрим разность чисел 485 и 231. Воспользуемся правилом записи чисел в десятичной системе счисления и представим данную разность в таком виде: 485 - 231 = 4 102 + 8 10 + 5) - (2 102 + 3 10 + 1). Чтобы вычесть из числа 4 102+8 10+5 сумму 2 102+3 10+1, доста­точно вычесть из него каждое слагаемое этой суммы одно за другим, и тогда:

(4 102 + 8 10 + 5) - (2 102+3 10 + 1)= (4 102+8 10+5) - 2 102 – 3 10-1.

Чтобы вычесть число из суммы, достаточно вычесть его из какого-либо одного слагаемого (большего или равного этому числу). Поэтому число 2 102 вычтем из слагаемого 4 102, число 3 10 - из слагаемого 8 10, а число 1 - из слагаемого 5, тогда: (4 102+8 10+5) – 2 102 - 3 10 - 1 = = (4 102 - 2 102) + (8 10 - 3 10)+(5-1).

Воспользуемся дистрибутивностью умножения относительно вычита­ния и вынесем за скобки 102 и 10. Тогда выражение будет иметь вид: (4-2) 102 + (8 - 3) 10 + (5 - 1). Видим, что вычитание трехзначного числа 231 из трехзначного числа 485 свелось к вычитанию однозначных чисел, изображенных цифрами соответствующих разрядов в записи заданных трехзначных чисел. Разности 4 - 2, 8 – 3 и 5 - 1 находим по таблице сложения и получаем выражение: 2 102 + 5 10 + 4, которое является записью числа 254 в десятичной системе счисления. Таким об­разом, 485 - 231 = 254. Выражение (4 - 2) 102 + (8 - 3) 10 + (5 - 1) задает правило вычитания, которое обычно выполняется столбиком:

_ 485

231

Видим, что вычитание многозначного числа из многозначного основывается на:

– способе записи числа в десятичной системе счисления;

– правилах вычитания числа из суммы и суммы из числа;

– свойстве дистрибутивности умножения относительно вычитания;

– таблице сложения однозначных чисел.

Нетрудно убедиться в том, что если в каком-нибудь разряде уменьшаемого стоит однозначное число, меньше числа в том же разряде вычитаемого, то в основе вычитания лежат те же теоретические факты и таблица сложения однозначных чисел. Найдем, например, разность чисел 760 - 326. Воспользуемся правилом записи чисел в десятичной системе счисления и представим эту разность в таком виде: 760 - 326 =(7 102+6 10 + 0) - (3 102 + 2 10 + 6).

Поскольку из числа 0 нельзя вычесть 6, то выполнить вычитание аналогичное тому, как было сделано в первом случае, невозможно. Поэтому возьмем из числа 760 один десяток и представим его в 10 единиц - десятичная система счисления позволяет это сделать тогда будем иметь выражение: (7 102 + 5 10 + 10) - (3 102 + 2 10 + 6). Если теперь воспользоваться правилами вычитания суммы из числа и числа из суммы, а также дистрибутивностью умножения относительно вычитания, то получим выражение (7- 3) 102 + (5- 2) 10 + (10 - 6) и 4 102 + 3 10 + 4. Последняя сумма есть запись числа 434 в десятичной системе счисления. Значит, 760 - 326 = 434.

Рассмотрим процесс вычитания многозначного числа из многозначного в общем виде.

Пусть даны два числах х = аn × 10 n + а n – 1 × 10 n – 1 + …+ а1 × 10 + а0 и у = bn × 10 n + b n – 1 × 10 n – 1 + …+ b1 × 10 + b0 . Известно также, что у < х. Используя правила вычитания числа из суммы и суммы из числа, дистрибутивность умножения относительно вычитания, можно записать, что

х - у=(аn - bn) × 10 n +( а n – 1 - b n – 1 )× 10 n – 1 + …( а0 - b0) (1)

Эта формула задает алгоритм вычитания, но при условии, что всех k выполняется условие аk ³ bk . Если же это условие не выполняете то берем наименьшее k, для которого аk < bk. Пусть m - наименьше индекс, такой, что m > k и аm ¹ 0, а аm – 1 =... = аk+1 = 0. Имеетместоравенство аm×10 m = (аm – 1) ×10 m + 9×10 m -1 + ... + 9×10 k + 1 + 10 ×10 k (например, если m=4, k=1, аm=6, то 6· 104 = 5·104 + 9·103 + 9·102 + 10·10). Поэтому в равенстве (1) выражение (аm - bm) ×10 m + ... + (аk - bk) ×10 k можно заменить на (аm - bm - 1 )×10 m + ( 9 - bm – 1) ×10 m-1 + (9 - bk + 1) ×10 k +1 + (аk + 10 - bk)×10 k . Из того, что аk < bk < 10, вытекает неравенство 0 < 10 + аk - bk < 10, а из того, что 0 < bs£ 9, вытекает неравенство 0 < 9 - bs < 10, где k + 1 £ s £ т - 1. Поэтому в записи х –у = =(аn - bn) × 10 n + … + ( аm - bm - 1 )×10 m + (9 - bm-1)×10 m–1+ …+ (9 - bk + 1)×10 k+1 + (аk + 10 - bk)×10 k + …+( а0 - b0)все коэффициенты с индексом, меньшим т, неотрицательны и не превосходят 9. Применяя далее те же преобразования к коэффициентам аn - bn , …, аm- bm - 1, через n шагов придем к записи разности х -у в виде х – у = сп × 10 n + сп - 1 × 10 n -1 …+ с0, где для всех k выполняется неравенство 0 < с k < 10. Если при этом ока­жется, что сп = 0, то надо отбросить первые слагаемые, вплоть до первого коэффициента, отличного от нуля.