оптимізація - Універсальний метод множення від Якова Трахтенберга (не плутати з Романом Трахтенбергом)
Вважаю, що інформація, яка буде описана нижче, є ексклюзивною для відкритих джерел в українськомовному сегменті Інтернету (далі для стислості "рунеті"). У відкритих джерелах рунету, на кшталт публічних блогів, української Вікіпедії тощо, є деякі уривчасті відомості про "Систему Трахтенберга". У тому числі й деякі прийоми швидкого множення деяких специфічних чисел, на кшталт 11. Але тільки Яків Трахтенберг розробив ще й універсальний метод множення, який дозволяє перемножувати великі числа в умі, про механізм якого ці джерела мовчать (принаймні, я свого часу не зміг знайти нічого путнього на цю тему в рунеті).
Далі я вирішив пошукати тугішу інформацію у відкритих джерелах англомовного Інтернету. На жаль, улов виявився мізерним. Фактично єдиним джерелом, яке докладно описував цей метод множення, виявилася англійська Вікіпедія. На щастя, і цього виявилося цілком достатньо, щоб навчитися йому.
Але перед тим, як я почну, перерахую плюси даного методу:
- Максимально компактний запис множення
- Можливість вважати повністю в голові, якщо запам'ятовувати деякі проміжні результати
- Можливість вважати з такою ж легкістю, як за звичайного стовпчика, якщо писати відповідь поступово, цифру за цифрою.
- Простота
А тепер, власне, опис.
Далі для стислості я матиму на увазі під цифрою число, яке позначає цифра в окремому розряді (я знаю, що цифри і числа це різні речі. Просто в даному випадку, задля простоти викладу, я цією різницею навмисне нехтую). Причому якщо я говоритиму про першу цифру деякого числа, то мається на увазі найстарший розряд цього числа. Так наприклад, у даній термінології першою цифрою числа321 буде число 3.
Припустимо, нам дано два двозначні числа, XY і AB (у даному випадку букви позначають цифри числа). Зрозуміло, метод Трахтенберга може працювати і при числах з великим числом знаків, просто я вибрав цей приклад через простоту.
Крок перший. Остання цифра добутку B на Y буде останньою цифрою добутку XY та AB.
Крок другий. Далі запам'ятовуємо останню цифру твору на Х. Також запам'ятовуємо першу цифру твору на Y. Складаємо ці цифри і запам'ятовуємо суму.
Також запам'ятовуємо останню цифру твору А на Y. Складаємо цю цифру із раніше запам'ятованою сумою. Остання цифра суми, що вийшла, і буде передостанньою цифрою твору XY і AB. Якщо при цьому перша цифра суми, що вийшла більше нуля, то беремо дану цифру "в умі" (висловлюючись термінами "множення стовпчиком").
Крок третій. Тепер запам'ятовуємо першу цифру твору X на і складаємо з останньою цифрою твори А на X. Отриману суму складаємо з першою цифрою твори A на Y. Якщо ми запам'ятовували число " в умі " , то додаємо його до цієї сумі. Остання цифра суми, що вийшла, є перед-останньою цифрою самі_знаєте_чого. Якщо перша цифра цієї суми більша за нуль, то запам'ятовуємо її "в умі".
Крок четвертий та останній. Запам'ятовуємо першу цифру твору А на Х. Якщо є число "про себе", то додаємо його. Ми отримаємо перше число твору XY на AB. Тобто ми отримали відповідь, ура!