Часть 1
Однажды, в поисках интересных математических головоломок, в журнале «Наука и жизнь», 1981 № 3, с.74 я наткнулся на так называемую «Короткую задачу» (автор – Волобан Н.) со следующим условием:
Найдите число, которое оканчивается на 0 и которое при переносе первой цифры в конец числа уменьшается в 6 раз.
Напрашивалось простое решение.
Так как искомое число по условию задачи в 6 раз больше нового числа, то цифрой, которая встала после нуля, может быть только 5, так как никакая другая значащая цифра при умножении на 6 не даёт в результате число с нулём на конце. Отсюда следует такой элементарный алгоритм поиска. Шаг 1-й: Последнюю цифру нового числа, 5, умножаем на 6, получаем число 30, последняя цифра которого ,0, уже стоит слева перед пятёркой по условию. Число десятков, 3, запоминаем в уме; Шаг 2-й: Ноль умножаем на 6, 3 в уме, получаем и пишем следующую слева цифру 3; Шаг 3-й: Умножаем 3 на 6, получаем 18, 8 пишем слева от тройки, 1 в уме и т.д.
Читатель, которого, может, заинтриговала эта задача и у которого хватило терпения продолжить этот процесс умножения, обнаружил, что в этом непрерывном и утомительном процессе на 57-м шагу (8 умножаем на 6, 2 в уме, получаем 50 и пишем следующую слева от восьмёрки цифру 0 (5 в уме), и на следующем, 58-м(!) шагу (0 умножаем на 6, 5 в уме, пишем 5 слева от нуля, и на следующем, 59 шагу (5 умножаем на 6), получаем 30, и мы, оказывается, повторили 1-й шаг нашего процесса.
Искомое число перед нами:
5084745762711864406779661016949152542372881355932203389830
Очевидно, этот процесс может продолжаться бесконечно, а полученные 58 цифр искомого числа, представляют собой как бы фрагмент бесконечной вереницы одинаковых, периодически повторяющихся 58-значных чисел. Естественно обозначить это искомое число «периодом» бесконечной вереницы таких чисел.
Это любопытное явление меня тогда заинтриговало, и я решил испытать подобный алгоритм с другими цифрами (то есть, приняв, к примеру, за последнюю цифру единицу, умножать её на другие цифры по тому же правилу (то есть с учётом «в уме»). Вот что у меня получилось:
Получилась, как видим, довольно разношёрстная картина. Думаю, что у многих читателей, терпеливо дочитавших до этого места, как и у меня в 80-х годах, возникло подозрение, что полученный результат, возможно, связан с периодичностью десятичных дробей. Попробуем доказать такое предположение в общем виде.
Доказательство:
Пусть А – искомое n-значное число, начинающееся слева с цифры а.
В – число, образовавшееся при переносе первой цифры а в конец числа А. Поставим условие, что новое число В меньше искомого в i раз, т.е.
А = i x B. (1)
Составим уравнение:
{А – а х 10 (n-1)} х 10 + а = В. (2)
Подставим выражение (1) в уравнение (2), получим уравнение:
{i x B – а х 10 (n-1)} х 10 + а = В.
Преобразуем его:
B x (10i – 1) = a х (10 n – 1),
откуда получаем:
В = {а (10 n -1)}/(10i – 1). (3)
Поскольку (10 n – 1)} – это число, записываемое n девятками (999…99), а выражение (10i – 1) – число, последняя цифра которого – девятка, то, как известно из арифметики, выражение (10 n – 1)} / (10i – 1) представляет собой период десятичного представления дроби 1/(10i – 1). А произведение однозначного (по условию) числа а на период указанной дроби представляет собой либо круговую перестановку этого периода (об этом и о других свойствах периодов см., например, в моей статье «Удивительные приключения периодических дробей» [1]), либо другой период дроби с тем же знаменателем, но с другим числителем; так, для знаменателя 79 мы имеем 6 различных периодов из 13 цифр при числителях 1 (0126582278481), 2 (0253164556962), 3 (0379746835443), 4 (0506329113924), 6 (0759493670886) и 12 (1518987341772).
Посмотрим внимательно на равенство (3). Очевидно, оно непосредственно относится к знаменателям с цифрой 9 на конце, а все данные таблицы 1 относятся именно к таким знаменателям. В чём же секрет алгоритма, найденного при решении «короткой задачи»?
Таблица 1
Последняя цифра числа |
Постоянный множитель |
Образовавшееся число-период |
Количество цифр в периоде |
1 |
2 |
052631578947368421 |
18 |
1 |
3 |
0344827586206896551724137931 |
28 |
1 |
4 |
025641 |
6 |
1 |
5 |
020408163265306122448979591836734693877551 |
42 |
1 |
6 |
016949152542372881355932203389830 5084745762711864406779661 |
58 |
1 |
7 |
0144927536231884057971 |
22 |
1 |
8 |
0126582278481 |
13 |
1 |
9 |
01123595505617977528089887640449438202247191 |
44 |
1 |
10 |
01 |
2 |
Рассмотрим в этом аспекте дробь 1/39 = 0,(025641) , для которой период состоит из 6 цифр. Цифра 1 в конце периода заранее обусловлена тем, что при делении числа из 6 девяток 999999 на 39 частное должно оканчиваться на единицу. Преобразуем дробь 1/39 следующим образом: 1/39 = 1/(40 – 1) = (1/40) / (1-1/40).
Последнее выражение, как известно, представляет собой сумму членов бесконечно убывающей геометрической прогрессии с первым членом b1 = 1/40 и знаменателем q = 1/40:
1/39 = 40 (-1) + 40 (-2) + 40 (-3) +
+ 40 (-4) + 40 (-5) + 40 (-6) + 40 (-7) … (4)
А теперь представим для дроби 1/39 (здесь i = 4) последовательно процедуру полученного при решении «короткой задачи» алгоритма (пошаговое умножение на 4 справа налево и сложение результатов умножения) в рамках первых 6 цифр десятичного представления (периода) этой дроби 1/39 = 0,(025641):
1 х 10 (-6) + 4 x 10 (-5) + 4 2 x 10 (-4) + +4 3 x 10 (-3) + 4 4 x 10 (-2) + + 4 5 x 10 (-1) + 4 6 x 10 0, (5)
или для наглядности (складываем вертикально):
0, 0 0 0 0 0 1
+ 0, 0 0 0 0 4
+ 0, 0 0 1 6
+ 0 , 0 6 4
+ 2, 5 6
+ 1 0 2 , 4
+ 1 0 9 6 , 0 ______
= . . . 1, 0 2 5 6 4 1
Мы видим. Что для получения всех 6 цифр периода достаточно 6 шагов умножения и сложения (7 слагаемых). Попробуем вывести формулу суммы этих 7 слагаемых. Очевидно, можно представить эти слагаемые в виде членов геометрическую прогрессию c первым членом b1 = 10 (-6) и со знаменателем q = 40 (знаменатель 40 получится, если последующее слагаемое в ряду (5) разделить на предыдущее bn+1/ bn ):
10 (-6) + 40 x 10 (-6) + 40 2 x 10 (-6) + +40 3 x 10 (-6) + 40 4 x 10 (-6) + +40 5 x 10 (-6) + 40 6 x 10 (-6). (6)
Продолжим суммировать ряд (6), но влево от его первого членa 10 (-6), сохраняя знаменатель прогрессии q = 40, получим ряд:
40 (-1) х 10 (-6) + 40 (-2) x 10 (-6) + + 40 (-3) x 10 (-6) + 40 (-4) x 10 (-6) + + 40 (-5) x 10 (-6) + 40 (-6) x 10 (-6) + +40 (-7) x 10 (-6) + … (7)
Если умножить ряд (7) на 10 6,то получим ряд:
40 (-1) + 40 (-2) + 40 (-3) + 40 (-4) + +40 (-5) + 40 (-6) + 40 (-7) … . (8)
Очевидно, что цифры в записи сумма ряда (8), а , значит, и ряда (4), совпадают с цифрами в записи суммы ряда (6). То есть мы показали, что предложенный алгоритм получения периода десятичной дроби для знаменателей вида (10i – 1) c конца (пошаговое умножение на i и сложение) является универсальным.
А как быть с другими знаменателями? Если знаменатель обыкновенной дроби оканчивается на цифру 1, или 3, или 7, то умножив её числитель и знаменатель одновременно соответственно на 9, 3, 7 (при этом знаменатель примет вид 10i – 1), мы получим равную ей по величине дробь, к которой применим рассмотренный алгоритм. Важно отметить, что если знаменатель дроби оканчивается на чётную цифру или на цифру 5, то данный алгоритм усложняется дополнительными операциями для достижения знаменателем вида 10i – 1. Поскольку число i в данном методе является стержневым при умножении, назовём его словом иннер (от английского inner – внутренний), что отражает, на наш взгляд, его функцию сквозного невидимого множителя. Таким образом для каждого нечётного знаменателя определён свой иннер, позволяющий находить период десятичного представления дроби с этим знаменателем с конца, то есть заменить операцию деления на умножение (без свойственного операции деления столбиком подбора цифр частного!). Составим (для наглядности) небольшую таблицу соответствия некоторых нечётных знаменателей d и их иннеров:
Таблица 2
d |
3 |
7 |
9 |
11 |
13 |
17 |
19 |
21 |
23 |
27 |
29 |
31 |
33 |
37 |
39 |
41 |
43 |
… |
i |
1 |
5 |
1 |
10 |
4 |
12 |
2 |
19 |
7 |
19 |
3 |
28 |
10 |
26 |
4 |
37 |
13 |
… |
Пример: Найти частное от деления 12 на 23. Преобразуем дробь 12/23 умножением числителя и знаменателя на 3, получаем дробь 36/69, для знаменателя которой, как и для числа 23, i = 7 (см. Таблицу 2).
Последняя цифра делимого 36 ( шестёрка) становится последней цифрой результата, но число десятков делимого (3) держим в уме Пишем 6, умножаем её на 7, получаем 42 и 3 в уме ( = 45), пишем 5 слева от шестёрки, 4 в уме. Далее 5 умножаем на 7, получаем 35 + 4 = 39 , 9 пишем левее , 3 в уме и т.д. Должно получиться, как это видно из таблицы 1, 22 цифры в периоде:
15/23 = 0,(5217391304347826086956).
Здесь необходимо отметить, что рассмотренный алгоритм деления на числа вида 10i – 1 (последовательное умножение на i) был зафиксирован в одних из самых древних священных писаниях на санскрите – ведах («знание», «учение»), в которых знания излагались посредством сутр (лаконичное и отрывочное высказывание, афоризм). Данный способ деления был описан в одной из составных частей древних вед –«атхарваведа» («веда заклинаний»). В современной Индии достижения древней математической мысли в виде отдельных сутр отражены в неоднократно публиковавшейся в Дели издательством «Motilal Banarsidass» книге индийского философа и просветителя Бхарати Кришна Тиртхаджи Махараджа «Vedic Mathematics» («Ведическая математика») [2], где уже в первой главе «Практическое применение ведических сутр к конкретным математическим задачам» представлен метод деления 1 на 19 непрерывным умножением последней цифры периода 1 на число, больше числа десятков знаменателя на единицу, т.е. на 2. Результат записывается справа налево, т.е. период, состоящий из 18 цифр (см. таблицу 1), образуется при этом с конца. Причём, этот метод называется в сутрах «на единицу больше предыдущей». В той же главе приведён другой метод получения периода дроби 1/19, теперь уже делением на ту же двойку, но слева направо (т.е. период образуется с его начала): Числитель 1 делится на 2, получается 0 (это первая цифра периода, но с его начала), который вместе с единицей числителя образует число 10; делим это число 10 на 2, получаем 5, которую пишем правее первого нуля. Эту пятёрку делим на 2, получаем 2 (в остатке 1). Пишем двойку правее пятёрки. Эта двойка вместе с предыдущим остатком составляет число 12, которое делим на 2, получаем 6 без остатка, делим 6 на 2, получаем 3 (без остатка) и т.д. до получения единицы (без остатка) на 18 шагу в результате деления 2 на 2 , после чего, очевидно, процесс начнёт повторяться. Читатель сможет сам убедиться, что описанный в сутрах второй метод деления 1 на 19 очень близок к известной процедуре деления числа из 18 девяток на 19, что в результате, как сказано выше, даёт число, состоящее из 17 цифр без нуля (18-я цифра) в начале периода и совпадающее с периодом дроби 1/19.
Часть 2
После знакомства с »Vedic mathematics» я стал глубже и внимательней исследовать процесс деления чисел, чтобы лучше понять анатомию получения периода десятичной дроби. Роясь в журналах и книгах, я собирал разные необычные примеры деления, которые без доказательств метода приводились в различных источниках, о чём в журнале «Математика в школе», 1989, № 5, с. 110-113, была напечатана моя статья «А фокусы ли это?» [3]. Я интуитивно подозревал, что в процессе деления кроется ещё какая-то тайна. И вот что я однажды увидел.
При делении единицы на числа вида (10i – 1), т.е. оканчивающиеся на девятку, неожиданно раскрылся секрет цифр периода. Оказалось, что это последние цифры остатков при известном делении уголком. Этот факт я не встречал ни в одном источнике, касающимся десятичных дробей и их периодов. Действительно, посмотрим внимательно на всем известный процесс деления 1 на 39:
Таблица 4
1 |
0 |
0 |
0 |
0 |
0 |
0 |
/ |
3 |
9 |
|||||
1 |
0 |
0, |
0 |
2 |
5 |
6 |
4 |
1 |
||||||
1 |
0 |
0 |
||||||||||||
7 |
8 |
|||||||||||||
2 |
2 |
0 |
||||||||||||
1 |
9 |
9 |
||||||||||||
2 |
5 |
0 |
||||||||||||
2 |
3 |
4 |
||||||||||||
1 |
6 |
0 |
||||||||||||
1 |
5 |
6 |
||||||||||||
4 |
0 |
|||||||||||||
3 |
9 |
|||||||||||||
1 |
Вполне вероятно, что древнеиндийские жрецы наблюдали эту картину так же, как мы сейчас, и именно эта картина остатков послужила им основанием для вывода описанного метода деления с помощью операции умножения (в данном примере умножение на 4, начиная с последнего остатка 1) и сложения с получением результата с конца. Кстати, уважаемый читатель, предлагается Вам в виде упражнения попробовать доказать это свойство периода в общем виде.
Моя интуиция ещё не была удовлетворена последним наблюдением. Я продолжал делить разные числа одно на другое с разными делимыми и делителями, и с каждым новым примером мне казалось, что я приближаюсь к какому-то неведомому свойству десятичных дробей. Честно скажу, что я не помню сейчас (а это было в конце 80-х), какой пример послужил неожиданной находке в этой области. Я вдруг обнаружил, что, оказывается, можно получать частное от деления одного числа на другое, независимо от вида делителя, так же с помощью операции умножения и сложения (без подбора цифр частного),при этом результат получается слева направо, как мы привыкли при обычном делении. Мой вывод тогда был почти интуитивен. Прежде, чем я расскажу об этом способе деления на примере, сообщаю, что со временем мне удалось теоретически ( с прямой и обратной теоремой) доказать этот новый метод и, более того, показать, что этот новый метод, во-первых, годится для любой системы счисления, а, во-вторых, что внедрение этого нового метода деления чисел в компьютере в двоичной системе счисления на аппаратном уровне позволяет увеличить быстродействие компьютера при выполнении операции деления на 12 и более процентов по сравнению с современным аппаратным способом (см. мою статью [4]).
Новый метод звучит следующим образом:
Чтобы разделить натуральное число t на другое натуральное число k, следует делимое t умножать непрерывно на число, дополняющее делитель k до единицы с нулями, т.е. до 10 m (т.е. до10 или до 100 и т.д., записывая каждое произведение со сдвигом вправо от предыдущего результата на столько разрядов , сколько нулей в числе 10 m, до которого берётся дополнение (здесь нелишне напомнить, что основание любой системы счисления записывается в виде числа 10). На заранее определённом шагу произведения суммируются вертикально. Количество шагов зависит от точности, с которой требуется найти частное от деления. Была выведена формула зависимости числа шагов от заданной степени точности результата [4, c. 94]:
Для наглядности приведу следующий простой пример. Пусть требуется поделить 1 на 7. Дополнение знаменателя до числа 10 составляет число 3, дополнение до 100 – число 93 и т.д. Мы выбираем самый маленький множитель. Процесс выглядит следующим образом (см. Таблицу 5).
Таблица 5
1 |
|||||||||||
3 |
|||||||||||
9 |
|||||||||||
2 |
7 |
||||||||||
8 |
1 |
||||||||||
2 |
4 |
3 |
|||||||||
7 |
2 |
9 |
|||||||||
2 |
1 |
8 |
7 |
||||||||
6 |
5 |
6 |
1 |
||||||||
1 |
9 |
6 |
8 |
3 |
|||||||
5 |
9 |
0 |
4 |
9 |
|||||||
1 |
7 |
7 |
1 |
4 |
7 |
||||||
1 |
4 |
2 |
8 |
5 |
7 |
0 |
6 |
6 |
9 |
3 |
7 |
Как видим для получения полного периода дроби 1/7 = 0,(142857) с точностью до 10 (-6) потребовалось 12 шагов.
Доклад на тему «Вместо деления – умножение» был сделан мною на Международной научно-технической когференции, посвящённой 35-летию со дня основания Московского Государственного Технического Университета Гражданской Авиации (МГТУГА) в Москве 18 мая 2006 года. В «Научном вестнике МГТУГА» № 114, 2007г., с. 90-103, была помещена моя статья «Вместо деления – умножение» [4], где мои выводы были теоретически обоснованы. Эту статью можно прочитать в интернете, набрав в адресной строке название статьи либо адрес: https://cyberleninka.ru/article/n/vmesto-deleniya-umnozhenie.
Статья была представлена доктором технических наук, профессором Самохиным Алексеем Васильевичем. Пользуюсь возможностью ещё раз выразить глубокую благодарность профессору Самохину А.В., а также профессору Рощину А.Г. за внимание к моим исследованиям в этой области, а также за понимание, поддержку, квалифицированные консультации и помощь при подготовке доклада и статьи.
В заключение предлагаю читателям вопрос на смекалку: почему в записи десятичного периода дроби 1/7 первые две цифры образуют число в два раза меньше числа, образованного из третьей и четвёртой цифр и почти в 4 раза меньше числа, образованного последними двумя цифрами периода (14, 28 и 57)?