Более трех веков назад французский математик Рене Декарт показал, что многие алгебраические задачи могут быть преобразованы и решены как геометрические и обратно - как удобнее решающему. Оказывается, и вычитание можно, а в ряде случаев и нужно преобразовывать в сложение. Для этого используется дополнение числа, т.е. разность между A*10n - числом, до которого дополняют, и самим числом.
Примеры:
Дополнением числа 93 до 100 является 100 - 93 = 7.
Сначала научимся быстро находить дополнение до чисел вида A*10n (n > 1). Вычисления дополнения начинают со старшего разряда:
а) из старшей цифры уменьшаемого (или из его нескольких первых цифр) вычитаем увеличенный на 1 соответствующий разряд вычитаемого:
700 7 - (2 + 1) = 4
-238
____
4...
и
50000 50 - (1 + 1) = 48
-1273
_____
48...
б) каждый последующий разряд (кроме последнего) находится вычитанием соответствующей цифры вычитаемого из 9:
700 9 - 3 = 6
-238
____
46...
и
50000 9 - 2 = 7
- 1273 9 - 7 = 2
______
4872...
в) последний знак находится вычитанием последней цифры вычитаемого из 10:
700 10 - 8 = 2
-238
_____
462
и
50000 10 - 3 = 7
- 1273
______
48727
Понятно, что небольшое отклонение (z) уменьшаемого от A*10n не помешает нам использовать этот способ и в более общем случае. Вычислив дополнение обычным образом, мы сделаем необходимую поправку в конце вычислений:
300011
-197785
_______
102215
+ 11
_______
102226
Сначала научимся быстро находить дополнение до чисел вида A*10n (n > 1). Вычисления дополнения начинают со старшего разряда:
а) из старшей цифры уменьшаемого (или из его нескольких первых цифр) вычитаем увеличенный на 1 соответствующий разряд вычитаемого:
700 7 - (2 + 1) = 4
-238
____
4...
и
50000 50 - (1 + 1) = 48
-1273
_____
48...
б) каждый последующий разряд (кроме последнего) находится вычитанием соответствующей цифры вычитаемого из 9:
700 9 - 3 = 6
-238
____
46...
и
50000 9 - 2 = 7
- 1273 9 - 7 = 2
______
4872...
в) последний знак находится вычитанием последней цифры вычитаемого из 10:
700 10 - 8 = 2
-238
_____
462
и
50000 10 - 3 = 7
- 1273
______
48727
Понятно, что небольшое отклонение (z) уменьшаемого от A*10n не помешает нам использовать этот способ и в более общем случае. Вычислив дополнение обычным образом, мы сделаем необходимую поправку в конце вычислений:
300011
-197785
_______
102215
+ 11
_______
102226