Задача: 11111112221 * 999
Цель: понять подробно решение.
Пошаговое решение
Используем разложение 999 = 1000 - 1. Пусть N = 11111112221. Тогда N * 999 = N * (1000 - 1) = N * 1000 - N.
Найдем N * 1000. Это просто приписать три нуля: N * 1000 = 11111112221000.
Вычтем N из N * 1000. Нужно посчитать 11111112221000 - 11111112221.
Удобно работать по группам по три цифры (разряды тысяч):
- N * 1000 = 11 | 111 | 112 | 221 | 000
- N = 00 | 011 | 111 | 112 | 221 (правая группа — тысячи, затем миллионы и т.д.)
Вычитание справа налево с занятием переносов:
- Группа 5: 000 - 221 требует займа. Берём 1 из группы 4: 221 -> 220, и группа 5 становится 1000. 1000 - 221 = 779.
- Группа 4: 220 - 112 = 108.
- Группа 3: 112 - 111 = 1.
- Группа 2: 111 - 011 = 100.
- Группа 1: 11 - 00 = 11.
Результат разбором по группам: 11 | 100 | 001 | 108 | 779.
Запишем итог числом. 11 100 001 108 779
Проверка (быстрый контроль): N * 1000 = 11111112221000 N * 999 = 11 100 001 108 779 11 100 001 108 779 + 11 111 112 221 = 11 111 112 221 000, что равно N * 1000. Значит решение верно.
Ответ: 11 100 001 108 779