Обзор интересных особенностей переворачивающихся при умножении чисел

от автора

В продолжение статьи Переворачивающиеся при умножении числа, которую я написал в 2024 году, представляю небольшую статью-обновление.

В данной статье я привожу немного расширенный список известных пар для разных оснований счисления и изучаю особенности найденных переворачивающихся чисел.

Вот полный список известных на текущий момент переворачивающихся при умножении чисел:

https://github.com/Danila2016/NumbersThatFlipOnMultiplication/blob/main/bases.csv

Показать
base,length,a,b,rb,ra2,27,111101110000100111010111111,100100001010111100111010001,100010111001111010100001001,1111110101110010000111011112,40,1100111001101110111101000000000100000011,1010110100001000010111011110000111010001,1000101110000111101110100001000010110101,11000000100000000010111101110110011100112,42,111010101010110001000001000101111001101011,101100101100110011100110011110011111000101,101000111110011110011001110011001101001101,110101100111101000100000100011010101010111#2,43-48-None3,17,21111012220201202,20212211222110221,12201122211221202,20210202221011112#3,18-28-None4,4,2211,3102,2013,11224,6,330113,122021,120221,3110334,11,20221122201,33313301202,20210331333,102221122024,12,220032112122,220231112121,121211132022,2212112300224,13,3033122211023,2021000003321,1233000001202,32011222133034,19,3123010113323033123,1223000330230123211,1123210320330003221,32133032331101032134,20,21123300031031323121,33203011213013222012,21022231031211030233,121323130130003321124,21,231122200023011022212,200211130021013310311,113013310120031112002,2122201103200022211324,21,131012330133313121331,220013120002032330201,102033230200021310022,1331213133310332101314,22,2332233300300031202121,3320301310301213111232,2321113121030131030233,1212021300030033322332#4,23-None5,5,22231,43412,21434,132225,6,303424,311102,201113,4243035,10,4402131124,1403420431,1340243041,42113120445,10,4424311302,2243042322,2232403422,20311342445,13,1322024130211,4242031404321,1234041302424,11203142022315,15,204304333140412,314110410304121,121403014011413,214041333403402#5,16-20-None6,5,40204,13001,10031,402046,10,2344420112,2433414111,1114143342,21102444326,10,2230332102,3120354411,1144530213,20123303226,10,1440535111,5043054031,1304503405,11153504416,14,21240011132212,42005450351431,13415305450024,21223111004212#6,15-17-None7,2,42,42,24,247,8,46343406,46631433,33413664,604343647,8,65305023,26140452,25404162,320503567,13,5054030524163,5540446553414,4143556440455,36142503045057,14,26623462035461,52046210055512,21555001264025,16453026432662#7,15-16-None8,4,6352,4023,3204,25368,6,552435,166321,123661,5342558,7,6037502,4000203,3020004,20573068,8,41250414,27061041,14016072,414052148,9,554442365,175010131,131010571,5632444558,10,6774770256,1540253631,1363520451,65207747768,10,6003775002,4000002003,3002000004,20057730068,10,5470206021,7431456225,5226541347,12060207458,13,6000377750002,4000000020003,3000200000004,2000577730006#8,14-15-None9,6,444572,480042,240084,275444#9,7-14-None10,6,218252,837281,182738,25281210,8,43275098,77535533,33553577,8905723410,8,47208027,56843862,26834865,7208027410,8,83321918,23007191,19170032,8191233810,10,6523664043,4475469192,2919645744,340466325610,10,7990749971,8794337207,7027334978,179947099710,16,8830950118748589,3376117662341892,2981432667116733,9858478110590388#11,9,54aa50055,246902221,122209642,55005aa4511,12,534338726a98,598050086292,292680050895,89a627833435#11,12-13-None12,4,4718,5a22,22a5,817412,4,6596,9a35,53a9,695612,5,90309,14001,10041,9030912,5,80408,16001,10061,8040812,7,3b0b9b3,5418b81,18b8145,3b9b0b312,8,79bb17a7,22862551,15526822,7a71bb9712,11,a0a40435495,3067a602862,268206a7603,59453404a0a12,11,96124b45043,4a8b05766a3,3a66750b8a4,34054b42169#12,12-None13,11,628ba56c626,22a0bc87901,10978cb0a22,626c65ab826#13,11-12-None14,7,ca94b86,29d2862,2682d92,68b49ac#14,8-11-None15,4,4a24,3c21,12c3,42a415,5,90609,1a001,100a1,9060915,10,59bcc30787,e5a4923465,5643294a5e,78703ccb9515,11,a013a9012aa,207632a1551,1551a236702,aa2109a310a#16,3,269,e12,21e,96216,6,ab5af2,848b85,58b848,2fa5ba16,9,6ebade3a2,82b559883,388955b28,2a3edabe6#16,9-11-None17,2,6a,c4,4c,a617,5,473d7,ceg53,35gec,7d37417,8,88b918f2,8g554484,484455g8,2f819b8817,9,gad3cc3g9,f8701ac2f,f2ca1078f,9g3cc3dag17,11,8g67ec7adf4,47ac038fe52,25ef830ca74,4fda7ce76g8#18,2,4b,a2,2a,b418,5,c060c,19001,10091,c060c18,9,ahb305ahe,35c8a6702,2076a8c53,eha503bha18,9,ad95ea864,c531fe167,761ef135c,468ae59da18,9,a3h94a05h,eh2g90f88,88f09g2he,h50a49h3a18,10,eb5b1hh5a8,529gf0g334,433g0fg925,8a5hh1b5be#19,2,62,b3,3b,26#19,3-10-None20,3,ac5,j2a,a2j,5ca20,4,ce24,4j23,32j4,42ec20,5,g040g,15001,10051,g040g20,8,44ch32i2,ac2jgh42,24hgj2ca,2i23hc4420,9,4f55610hc,8bb1h2h02,20h2h1bb8,ch01655f4#20,10-None21,3,7g7,ce4,4ec,7g721,7,h41830j,306fh92,29hf603,j03814h21,9,ebdf0e728,a5b4k1827,7281k4b5a,827e0fdbe21,9,c5cg8970f,kjc0k5g4c,c4g5k0cjk,f0798gc5c#21,10-None22,6,g5ldhf,5d5334,4335d5,fhdl5g22,10,g025ebakli,9kh4eib357,753bie4hk9,ilkabe520g##23,2-9-None24,5,i060i,18001,10081,i060i24,5,g080g,1c001,100c1,g080g24,5,m823h,ff4de,ed4ff,h328m24,5,l7ch3,h305f,f503h,3hc7l24,5,6in21,m4h66,66h4m,12ni624,7,68kcfj3,9jbkbe2,2ebkbj9,3jfck8624,8,62c9lnci,c6f1gm23,32mg1f6c,icnl9c26#24,9-None25,4,9ife,fb06,60bf,efi925,7,jaj0ja9,km7hn5g,g5nh7mk,9aj0jaj#25,8-9-None26,3,e1k,492,294,k1e26,3,ifl,hec,ceh,lfi26,3,mb7,lli,ill,7bm26,7,abfnjg6,ge6kmg6,6gmk6eg,6gjnfba#26,8-9-None

Какие закономерности я заметил:

  1. Для основания счисления M=5 чаще встречаются переворачивающиеся числа длины кратной 5. Хотя, может быть, это – совпадение: для M=6 тоже довольно часто длина кратна 5. И, кстати, в сумме по всем основаниям счисления длины 5 и 10 лидируют по количеству чисел.

    Статистика длин переворачивающихся чисел всех оснований счисления.

    Статистика длин переворачивающихся чисел всех оснований счисления.
  2. Для основания счисления M=8 cуществует бесконечное семейство переворачивающихся чисел:

    6037502 ∙ 4000203 = 3020004 2057306
    6003775002 ∙ 4000002003 = 3002000004 2005773006
    6000377750002 ∙ 4000000020003 = 3000200000004 2000577730006

    Бесконечные семейства также обнаружены для переворачивающихся чисел не обязательно одинаковой длины для M=10: A009944 — OEIS (похоже, эту ссылку блокируют, поэтому далее привожу цитату).

    Последовательность (переворачивающихся чисел произвольных длин для M=10) бесконечна, поскольку она содержит как минимум 3 бесконечные подпоследовательности, а именно b(n) = 3*(88810 + 2099*10^(6*n))/33670 = 187029, 187021087029,… c(n) = 11011*(1 + 100^(1 + 2*n))/101 = 109019911, 1090198019911,… and d(n) = 3*(53*10000^n — 14900)/10100 = 153, 1574253,… (здесь под числами имеются в виду произведения пар переворачивающихся чисел). Giovanni Resta, Mar 17, 2013

    Вопрос существования таких семейств для других оснований счисления M для пар чисел одинаковой длины пока является открытым.

  3. В первых двух парах для M=2 есть много сходств во втором множителе. Есть вероятность, что это одно семейство чисел:

    d = 27
    111101110000100111010111111 ∙ (10)(01000010)(101111)(00111010001) = 100010111001111010100001001 111111010111001000011101111

    d = 40
    1100111001101110111101000000000100000011 ∙
    (10){1011}(01000010)000{1011}(101111)00(00111010001) = 1000101110000111101110100001000010110101 1100000010000000001011110111011001110011

    (Это один из вариантов разбиения вторых множителей на повторяющиеся подгруппы. Числа в круглых скобках повторяются как в верхнем, так и в нижнем числе. Числа в фигурных скобках встречаются только в нижнем числе.).

    Можно предположить, что существует переворачивающаяся пара из того же семейства длины 40 + (40 — 27) = 53. Однако поиск по числам b, оканчивающимся на 111010001 длины 53 ничего не дал (если, конечно, я не допустил ошибки в коде).

  4. Также можно заметить, что в случае M=2 первое число всегда начинается на 11 и заканчивается на 11, а второе число всегда начинается на 10 и заканчивается на 01. Возможно, это случайность: первая и последняя цифры всегда должны быть равны 1.

  5. Для разных оснований счисления различается количество переворачивающихся чисел в среднем на порядок (“общее количество пар чисел” делить на “количество разрядов, для которых они посчитаны”).

    Возможно, это как-то связано с остатками от деления на M^k-1, M^k+1. Вроде бы получается, что остатки от деления некоторых выражений от цифр a и b могут принимать ограниченный набор значений (примерно 1/(M^k±1) от всех возможных вариантов).

    Поясню. Возьмём, например M=10 и d=3. Пусть мы рассматриваем равенство

    abc ∙ def = fed cba

    Тогда справедливо равенство и для остатков от деления на 101. Остаток от деления на 101 равен знакопеременной сумме двузначных подчисел, начиная с последних двух цифр:

    (bc — a)∙(ef — d) = ba — dc + fe

    (Чтобы это доказать, нужно применить примерно такие же рассуждения, как и для признака деления на 101.)

    И это можно переписать в виде:

    (с-a + 10∙b)(f-d + 10∙e) = a-c + 10∙b + 10∙(f-d) + e

    Таким образом, обозначив c-a = x, b = y, f-d = z, e = t, имеем:

    (x+10∙y)∙(z+10∙t) = (-x + 10∙y + 10∙z + t)

    Хотя и не представляется возможным выделить одинаковые выражения в левой и правой частях, если перебрать все возможные варианты x,y,z,t по модулю 101, то получится, что только 1/101 всех четвёрок будут удовлетворять равенству. Получается, если брать случайные пары чисел, то только около 1/101 из них будут совместимы по модулю 101.

    Аналогичные рассуждения справедливы для чисел большей разрядности и других k.

    Изначально у меня была идея, что если M^k±1 и M^t±1 не являются взаимнопростыми, то ограничений для этого M будет меньше, но, немного подумав, я уже не очень уверен, что это действительно так: ведь для разных k будут задействованы разные подгруппы цифр.

  6. Для двух пар чисел для M=10 попарно совпадают остатки от деления на 8008 перевёрнутых первых и вторых частей:

    43275098 ∙ 77535533 = 33553577 89057234
    47208027 ∙ 56843862 = 26834865 72080274

    33553577 ≡ 57 (mod 8008), 89057234 ≡ 266 (mod 8008)
    26834865 ≡ 57 (mod 8008), 72080274 ≡ 266 (mod 8008)

    8008 = 2 37 ∙ 11 ∙ 13

    Если отбросить 8, то всего валидных пар остатков на 1001 для правой части у меня получилось около 66 тыс. (если считать аналогично тому, как я считал для 101, только с ограничением на значения знакопеременных сумм из-за малого числа знаков). То есть вероятность такого события – примерно 1/66’000, что довольно удивительно.

    Код, чтобы это проверить
    # ABCDEFGH * STUVWXYZ = ZYXWVUTS HGFEDCBA# a = H - E + B# b = G - D + A# c = F - C# d = Z - W + T# e = Y - V + S# f = X - Upairs = set()second_multiplier = set()for a in range(-9, 18+1):    for b in range(-9, 18+1):        for c in range(-9, 9+1):            for d in range(-9, 18+1):                for e in range(-9, 18+1):                    for f in range(-9, 9+1):                        if (a + 10*b + 100*c)*(d+10*e+100*f) % 1001 == (b - d + 10*(a + f) + 100*(-c + e)) % 1001:                            pairs.add(((b + 10*a - 100*c) % 1001, (e + 10*d - 100*f) % 1001))                            second_multiplier.add((d + 10*e + 100*f) % 1001)print(len(pairs))print(len(second_multiplier) / 1001)

    Кстати, по остаткам на 1001 в данном случае (d=8) отбраковывается 10% значений второго множителя. Возможно, это свойство можно применять в вычислениях…

Всем, кто дочитал, спасибо за внимание! Если вы найдёте другие интересные особенности, напишите об этом в комментариях.

Переворачивающиеся числа являются подмножеством Vampire numbers (числа, факторизующиеся используя свои цифры, например 1395=31*9*5), поэтому если вас слишком затянет, помните, что практического смысла в этом не очень много.

ссылка на оригинал статьи https://habr.com/ru/articles/1038642/