2027
Скоро наступит 2027 год. Так-то ещё не очень скоро, смотря в какой временной шкале находиться. Но если думать в масштабах возраста Вселенной, то прям ваще скоро. Две тысячи двадцать седьмой год по григорианскому календарю — невисокосный год, начинающийся в пятницу. Это 2027 год нашей эры, 7‑й год 3‑го десятилетия XXI века 3‑го тысячелетия, 8‑й год 2020‑х годов.
В кои-то веки число года является простым, не так уж часто это бывает. Например, предыдущий простой (с точки зрения математики) год был 2017. Следующим за 2027 простым будет 2029, а потом уже только 2039. Года с 2018 по 2026 были очень не простыми во всех смыслах, так что будем надеяться, что хотя бы в простом 2027 станет попроще.
Эта страничка посвящена не 2027 году, а номеру года – числу 2027.
Про само число можно многое сказать. Например, вот тут: https://webcalypt.com/tools/number/2027 собрано довольно большое количество всяких интересных фактов и преобразований этого числа в разные единицы измерения.
Я же хочу продолжить свои упражнения, связанные с занимательными вычислениями.
2027 из последовательных цифр
Впервые с подобной задачей я встретился в каком-то древнем выпуске «Науки и жизни» в рубрике «Психологический практикум». Я бы нашёл этот номер и привёл бы скрин в качестве пруфа, но у меня высокие отношения с издательством этого журнала, как у Рабиновича с банком, поэтому верьте мне на слово :)
Задача такая: из последовательности цифр 1234567890 и знаков математических действий нужно составить такое выражение, результат которого даст нужное нам число, в данном случае число года. Вначале я придумал вот такое решение:
Затем возникла идея привлечь к решению этой задачи DeepSeek. Я дал ему в качестве примера своё решение с факториалом и попросил найти аналогичное, но без факториала. DeepSeek долго пытался, и в результате так и не смог, хотя был близок – нашёл решение для 2028. Но при этом он предложил мне программу на phyton, которая сможет это сделать. Только она почему-то не работала :)
В конце концов, я попросил его переписать программу на javascript, добавил туда разной функциональности, чтобы можно было задавать последовательности цифр, искать нужное значение выражения, играться действиями и т.п. Конечно же, программа методом полного перебора смогла найти все возможные варианты (их оказалось 12):
`2027 = 12*34*5-6-7+89*0`
`2027 = 12*34*5-6-7+8*9*0`
`2027 = 12*34*5-6-7+8:9*0`
`2027 = 12*34*5-6-7-89*0`
`2027 = 12*34*5-6-7-8*9*0`
`2027 = 12*34*5-6-7-8:9*0`
`2027 = 1*2345*6:7+8+9+0`
`2027 = 1*2345*6:7+8+9-0`
`2027 = 1*2:3*45*67+8+9+0`
`2027 = 1*2:3*45*67+8+9-0`
`2027 = 1:2*3*4*5*67+8+9+0`
`2027 = 1:2*3*4*5*67+8+9-0`
Фактически решений было всего 4, а дальше вариации на тему использования нуля. Если ноль вообще исключить из набора цифр, то первое решение с откидыванием цифр 8,9,0 уйдёт и останутся только таких 3 решения:
А вот и наш первый вариант, если не использовать 8,9,0:
Из последовательности 234567890 можно получить:
`2027 = 2345*6:7+8+9+0`
`2027 = 2345*6:7+8+9-0`
`2027 = 2:3*45*67+8+9+0`
`2027 = 2:3*45*67+8+9-0`
Если ноль отбросить:
`2027 = 2345*6:7+8+9`
`2027 = 2:3*45*67+8+9`
А если поставить нолик впереди, то получим такие решения:
`2027 = 0+1*2345*6:7+8+9`
`2027 = 0+1*2:3*45*67+8+9`
`2027 = 0+1:2*3*4*5*67+8+9`
`2027 = 0*1+2345*6:7+8+9`
`2027 = 0*1+2:3*45*67+8+9`
В общем, уже ничего нового :) Что-то новенькое можно получить, если переставить цифры задом-наперёд:
`2027 = 9+8*7+654*3+21*0`
`2027 = 9+8*7+654*3+2*1*0`
`2027 = 9+8*7+654*3+2:1*0`
`2027 = 9+8*7+654*3-21*0`
`2027 = 9+8*7+654*3-2*1*0`
`2027 = 9+8*7+654*3-2:1*0`
`2027 = 9*8-7+654*3+21*0`
`2027 = 9*8-7+654*3+2*1*0`
`2027 = 9*8-7+654*3+2:1*0`
`2027 = 9*8-7+654*3-21*0`
`2027 = 9*8-7+654*3-2*1*0`
`2027 = 9*8-7+654*3-2:1*0`
Как ни странно, решений тоже 12 штук. А фактически это всего 2 решения и вариации с нивелированием ненужных цифр в хвосте. Как видим, без нуля тут уже никак не обойтись. А вот если отбросить «мешающие» 2,1,0, то как раз и получим наши 2 решения:
`2027 = 9+8*7+654*3`
`2027 = 9*8-7+654*3`
Где-то я натыкался на феноменально проделанную работу, в которой некий энтузиаст нашёл решения для всех чисел в большом диапазоне (типа от 0 до 10000 или до 1000000), кроме какого-то одного. Причём это делала программа полным перебором всех вариантов, так же, как и моя программка. И решения для этого единственного числа с использованием десяти цифр и 4-х знаков действий не нашлось. Вот какое это было число, я не помню.
2027 из одинаковых цифр
Похожая задача: теперь число года надо собрать не из последовательных цифр, а из любого (желательно наименьшего) количества одинаковых цифр.
Я придумал вот такую общую формулу для цифр А из диапазона [1;9]:
Черта означает, что цифры, находящиеся под чертой, объединяются в одно число, вот так:
`2027 = ( (1111-111+11+1+1)*(1+1) ):1:1 + 1:1 = 1013*2:1+1 = 2027`
`2027 = ( (2222-222+22+2+2)*(2+2) ):2:2 + 2:2 = 2026*4:4+1 = 2027`
`2027 = ( (3333-333+33+3+3)*(3+3) ):3:3 + 3:3 = 3039*6:9+1 = 2027`
…
`2027 = ( (9999-999+99+9+9)*(9+9) ):9:9 + 9:9 = 9117*18:81+1 = 2027`
Причём эту формулу можно немного упрощать для отдельных случаев:
Но можно и вообще отойти от «стандартного» решения:
Попробовал методом программного перебора найти решения для четырёх действий и последовательности из десяти одинаковых цифр. Ничего не нашлось, дальше мучить компьютер не стал :)
А теперь перейдём к нулям. Как говаривал один мой препод в институте, "Легко заметить, что..." и далее шло что-то очень сложное и непонятное. Так вот, легко заметить, что 0!=1. Это даёт нам возможность из нуля получить что-то, отличное от нуля. Но к четырём «стандартным» математическим действиям мы будем вынуждены привлечь ещё такое мудрое действие как вычисление факториала. Зато далее из суммы единиц можно «собрать» любое число любых чисел, а уже потом применять действия к этим числам. Поэтому с нулём задача сводится к поиску выражения, содержащего минимум символов, которое даёт в результате 2027. Например, такое:
А можно и так:
Разные числа из цифр 2027
Ну а теперь самое мозговыносительное.
Правила: используя любые математические действия, функции и преобразования, получить из последовательности цифр 2,0,2,7 выражение, значение которого точно равно числу слева. Не допускается явное использование каких-либо других цифр и чисел. Например, знак квадратного корня допустим, а вот кубический корень нет, так как в нём явно используется цифра 3.
Помимо вполне обычных действий сложения (+), вычитания (-), умножения (·) и деления (:), функций квадратного корня `sqrt(N)`, натурального `ln(N)` и десятичного логарифма `lg(N)` можно привлечь десятичную запятую/точку (.), инверсию знака (-), а также разные виды округления: обычное математическое `[N]`, вверх ` |~N~| ` и вниз `|__N__| ` (с отсечением дробной части). Ну и более сложные действия: возведение в степень `(x^y)`, обычный (!), двойной (!!) и другие кратные факториалы. Начальный ноль у десятичных дробей можно опускать: `.2 = 0,2`.
И в этот раз постарался обойтись без привлечения палочек-выручалочек в виде констант π и e. Ибо это нечестно, потому что из них одних можно сделать выражения для любых чисел, да и не нужно это. Даже, как оказалось, можно обойтись без логарифмов и всех этих округлений вверх-вниз.
Перед тем как искать решения, я сделал вот такие «заготовки»:
2
`sqrt(2) ≈ 1.4142`
`[sqrt(2)] = 1`
`2 = 2`
0
20
`2^0 = 1`
`[sqrt(20)] = 4`
`|~sqrt(20)~| = 5`
`[sqrt(20)]!! = 4!! = 4*2 = 8`
`|~sqrt(20)~|!!! = 5!!! = 5*2 = 10`
`|~sqrt(20)~|!! = 5!! = 5*3*1 = 15`
`20 = 20`
`[sqrt(20)]! = 4! = 4*3*2*1 = 24`
`|~sqrt(20)~|! = 5! = 5*4*3*2*1 = 120`
202
`sqrt(20*2) ≈ 6.32`
`20:2 = 10`
`sqrt(202) ≈ 14.2`
`20-2 = 18`
`[20.2] = 20`
`20+2 = 22`
`20*2 = 40`
`202 = 202`
`20^2 = 400`
27
7
`sqrt(7) ≈ 2.64575`
`[sqrt(7)] = 3`
`[sqrt(7)]! = 3*2*1 = 6`
`7 = 7`
`sqrt(7!!) = sqrt(105) ≈ 10.247`
`7!!!!! = 7*2 = 14`
`7!!!! = 7*3 = 21`
`7!!! = 7*4*1 = 28`
`sqrt(7!) = sqrt(5040) ≈ 70.99 `
`7!! = 7*5*3*1 = 105`
`7! = 7*6*5*4*3*2*1 = 5040`
и ещё
В решениях от ИИ я подсмотрел несколько очень интересных триков:
`8!!! = 80`
`0!: .2 = 5`
`!n` - субфакториал: число перестановок без неподвижных мест; `!2 = 1` и `!5 = 44`.
`x% = x/100`
цифры в скобках обозначают период: например, `.(027) = 0,027027027…`
Попытки привлечь ИИ
Честно признаюсь, в середине пути у меня возникла идея снова привлечь для этой задачи ИИ. Ну я и привлёк сначала DeepSeek, затем от безысходности ГигаЧат. И снова ни один не справился. DeepSeek честно пытался решить задачу, даже с моими подсказками смог накидать решения для первого десятка, и на этом сдох. Но при этом я подсмотрел у него великолепную идею применять кратные факториалы. Странно, но я даже не знал, что такое существует. Про одиночные и двойные факториалы я знал, а вот дальше… Те решения, которые придумал deepseek, я отмечу специальным значком (`{::}^✨`). Всё остальное я сам просчитал, можете не сомневаться :) В самом конце осталось два сложных числа, которые долго не давались – 59 и 82. И я снова попробовал привлечь ИИ для поиска этих конкретных значений. На одном из шагов удалось даже зациклить Deepseek, он стал выдавать по кругу одно и то же.
В конце концов я его прервал, он извинился и предложил мне программу на phyton, которая полным перебором должна была выдать решения для всех чисел от 0 до 100.
Я честно попробовал её запустить, но так и не дождался, пока она отработает. То ли виснет, то ли слишком много времени ей надо. ГигаЧат просто отказался, хотя и нагнал перед этим много текста.
Поэтому я поигрался ими чуток, а затем сел за бумажку и калькулятор, и минут за 10 неспешного анализа нашёл нужные мне решения.
Пробовал привлечь Алису. Она долго думала (прям очень долго), но так ничего и не придумала. Или зависла, или ушла надолго и забыла про меня.
Важно учесть ограничение на использование только цифр 2, 0, 2, 7 без повторов и изменения порядка. Нужно подобрать математические действия и функции, чтобы получить все числа от 0 до 100. Основной критерий — точное соответствие значениям без привлечения других цифр.
Требуется найти все числа от 0 до 100, используя только цифры 2, 0, 2, 7 в заданном порядке. Для этого строятся бинарные деревья с применением арифметических и унарных операций, включая факториал и степени. Важно сохранить порядок цифр и избежать лишних цифр в выражениях.
Требуется найти все числа от 0 до 100, используя только цифры 2, 0, 2, 7 в заданном порядке. Для этого строится бинарное дерево с применением арифметических и унарных операций, включая факториал и степени. Важно сохранить порядок цифр и избежать лишних цифр в выражениях.
Требуется найти все числа от 0 до 100, используя только цифры 2, 0, 2, 7 в заданном порядке. Для этого строится бинарное дерево с применением арифметических и унарных операций, включая факториал и степени. Важно сохранить порядок цифр и избежать лишних цифр в выражениях. Рассматриваются различные подходы к реализации для повышения эффективности вычислений.
Требуется найти все числа от 0 до 100, используя только цифры 2, 0, 2, 7 в заданном порядке. Для этого строится бинарное дерево с применением арифметических и унарных операций, включая факториал и степени. Важно сохранить порядок цифр и избежать лишних цифр в выражениях. Рассматриваются различные подходы к реализации для повышения эффективности вычислений.
Предыдущий подход оказался слишком медленным для четырёх токенов. Требуется найти более эффективное решение, сократив пространство поиска и упростив вычисления. Это позволит получить результаты быстрее без потери точности.
Предыдущий подход оказался слишком медленным для четырёх токенов. Требуется найти более эффективное решение, сократив пространство поиска и упростив вычисления. Это позволит получить результаты быстрее без потери точности.
Предыдущий подход оказался слишком медленным для четырёх токенов. Требуется найти более эффективное решение, сократив пространство поиска и упростив вычисления. Это позволит получить результаты быстрее без потери точности.
Требуется убедиться, что рабочее пространство доступно для выполнения кода. Это поможет избежать ошибок при обработке данных. После проверки можно будет запустить основной скрипт.
Требуется убедиться, что рабочее пространство доступно для выполнения кода. Это поможет избежать ошибок при обработке данных. После проверки можно будет запустить основной скрипт.
Возникает ошибка при выполнении скрипта. Требуется убедиться, что среда работает, перед продолжением задачи. Если проблема повторится, ответ будет сформирован вручную.
Требуется убедиться, что среда работает корректно, перед продолжением задачи. Если проблема повторится, ответ будет сформирован вручную. Сейчас выполняется тестовый скрипт для диагностики.
Через 20 минут с ей написал:
похоже, что ты повисла или отвалилась по таймауту, ответа я так и не дождался
Важно выяснить причину задержки и восстановить контекст задачи. Нужно подтвердить получение сообщения и уточнить, что именно пользователь имеет в виду под отсутствием ответа.
Требуется найти выражения из цифр 2, 0, 2, 7, дающие числа от 0 до 100. Нужно учесть все комбинации операций: сложение, умножение, факториалы, корни, округления. Важно соблюсти порядок цифр и избежать повторений в рассуждениях.
В общем, я не дождался. Слишком для неё сложно и слишком медленно она пока думает.
В конце концов эта задача была поставлена перед GPT Astra, и он с ней прекрасно и почти мгновенно справился. Помимо кратных факториалов он придумал использовать субфакториал, проценты и периодические дроби. И скажу больше – он меня просто перещеголял во многих решениях (которые я пометил значком 👍). Там, где я изгалялся со всякими логарифмами и округлениями вверх, Chat GPT нашёл красивые и простые решения. В общем, я обиделся и больше не буду расписывать, какой он умный :)
Короче, не только лишь все ИИ умные, но прогрессируют они со страшной скоростью. Как бы чего не вышло…
Первая сотня
На самом деле запись `20_2` выше некорректна, потому что в двоичной системе нет цифры 2. Здесь я придумал такое правило: запись `20_2` означает «надо взять число `20_10`, конвертировать его из десятичной в двоичную систему, а затем получившееся число `10100_2` представить, будто бы оно внезапно стало десятичным» :) в общем, должно быть `20_10=10100_2`, а у меня наоборот: `20_2=10100_10`. Ну вот так вот. Мир, основанный на правилах, а не на законах.
`3 = -2+0-2+7 = |~2.027~| = 20:2-7{::}^✨`
`4 = -2^0-2+7 = |2^0+2-7| = 20-2-7!!!!!{::}^✨ = 20:(-2+7)`👍
`5 = 2*0-2+7 = sqrt(20-2+7){::}^✨`
`6 = 20-2*7 = 2^0-2+7`
`7 = -20+27 = 2.0-2+7 = 2+0-2+7 = |20-27|`
`8 = -2^0+2+7 = (20-2-7!!!!!)!!{::}^✨ = 2:(0+2)+7`👍
`9 = 2*0+2+7 = 2+0^2+7 = 2+0*2+7`
`10 = 2^0+2+7 = 2*(0-2+7)`👍
`11 = 2+0+2+7 = 2.0+2+7 = 20-2-7`
`12 = -2.0+2*7 = -2+0+2*7 = 2*0-2+7!!!!!{::}^✨`
`13 = -2^0+2*7 = |2.0:2-7!!!!!|{::}^✨`
`14 = 2*0+2*7 = 2*(0*2+7)`👍
`15 = 2^0+2*7 = 20+2-7{::}^✨`👍
`16 = 2.0+2*7 = 2+0+2*7`
`17 = 20:2+7 = [20-2-.7]`
`18 = 2.0*(2+7) = |~20-2-.7~| = [sqrt(20)]+2*7 = 2*(0+2+7)`👍
`19 = 20-2+7^0 = [20-2+.7] = |~sqrt(20)~|+2*7 = -2+(0!+2)*7`👍
`20 = (2+0!)!+2*7{::}^✨ = [20.27] = 2^0-2+7!!!! = 2*(0!+2+7)`👍
`21 = |~20.27~| = (2^0+2)*7`👍
`22 = |__20+2.7__| = (2+0!): .2+7 `👍
`23 = [20+2.7] = 20+sqrt(2+7)`👍
`24 = -2-0!+27`
`25 = -2.0+27 = 20-2+7{::}^✨`👍
`26 = -2^0+27 = 20*(2-.7)`
`27 = 2^0*27 = 2*0+27`
`28 = (2.0+2)*7 = 2*0+2*7!!!!! = 2*0*2+7!!!{::}^✨ = 2*(0+2)*7`👍
`29 = 2+0+27 = [202:7]`
`30 = 2+0!+27`
`31 = [sqrt(20)+27] = 20:2+7!!!! = (2+0+2)!+7`👍
`32 = |~sqrt(20)+27~| = 2^(0-2+7)`👍
`33 = 2+0!+2+7!!! = 20*2-7`👍
`34 = [sqrt(20)]!+[sqrt(7!!)] = [20.2]+7!!!!! = 20+2*7`👍
`35 = [lg(20)*27] = [sqrt(20)]!!+27 = (2+0!+2)*7`👍
`36 = |__2.0^sqrt(27)__| = -20+2*7!!! `👍
`37 = [2.0^sqrt(27)] = 2+(0!: .2)*7`👍
`38 = |~20*2-sqrt(7)~| = 20:2+7!!!`👍
`39 = -2^0-2+7!!!! = 2^(0!: .2)+7`👍
`40 = [sqrt(20)]!!*|2-7| = 2:[0-(2-7)%]`👍
`41 = -2^0+2*7!!!! = 20+.2*7!!`👍
`42 = 2*0+2*7!!!!{::}^✨ = 2*(0!+2)*7`👍
`43 = 20*2+[sqrt(7)] = 2^0+2*7!!!! = 2^0:2%-7`👍
`44 = 2+0+2*7!!!! = 2+(0!+2)!*7`👍
`45 = [sqrt(2027)] = -20+[ln(27!)] = 2+0!:2%-7`👍
`46 = 2.0^2+7!!!! = 20-2+7!!!`👍
`47 = 20+27 = 20*2+7{::}^✨`
`48 = [(20-2)*sqrt(7)] = (20-2*7)!!`👍
`49 = [(20-sqrt(2))*sqrt(7)] = (2+0!: .2)*7`👍
`50 = 20*2 + [sqrt(7!!)] = 20+2+7!!!`👍
`51 = [sqrt(20)]!+27 = !(2+0!+2)+7`👍
`52 = [(20-.2)*sqrt(7)] = 2*(-0!+27)`👍
`53 = [20.2*sqrt(7)] = ( (2+0!)!)!!-2+7`👍
`54 = 20_27 = 2.0*27 = 20*2.7 = 2*(0+27)`👍
`55 = -2^0+2*7!!! = (2*(0!+2))!!+7`👍
`56 = [2.0*lg(27!)] = 2*0+2*7!!!`👍
`57 = [sqrt(sqrt(20))*27] = [20^2:7] = 2^0:2%+7`👍
`58 = |~20^2:7~| = 2+0+2*7!!!`
`59 = ||~sqrt(20)~|-|__ln(27!)__|| = 2+0!:2%+7 `👍
`60 = -|~sqrt(20)~|+[ln(27!)] = 20*[2.7] = 20*sqrt(2+7)`👍
`61 = -[sqrt(20)]+[ln(27!)] = 20*(2+(7!!)%)`👍
`62 = -2-0!+[ln(27!)] = 2*(0!+2+7!!!)`👍
`63 = -2+0+[ln(27!)] = (2+0!)^2*7`👍
`64 = -2^0+[ln(27!)] = 2^(0!-2+7)`👍
`65 = |20*2-7!!| = 2*0+[ln(27!)] = [[sqrt(20)]! * 2.7] = -20*2+7!! `👍
`66 = 2^0+[ln(27!)] = 2*(0!: .2+7!!!)`👍
`67 = 2+0+[ln(27!)] = [202:[sqrt(7)]!] = (.2+0!):2%+7`👍
`68 = 2+0!+[ln(27!)] = 20*2+7!!!`👍
`69 = [sqrt(20)]+[ln(27!)] = -2+sqrt( (0*2)!+7!)`👍
`70 = 20:2*7 = |~sqrt(20)~|+[ln(27!)] = |~sqrt(20)~|*2*7`
`71 = 2*0*2+[sqrt(7!)] = sqrt(2:(0+2)+7!)`👍
`72 = [sqrt(20)]!!*(2+7) = 2: .02(7)`👍
`73 = [sqrt(20)]!!+[ln(27!)] = 2+sqrt( (0*2)!+7!)`👍
`74 = 2^0+2+[sqrt(7!)] = 2: .(027)`👍
`75 = 2+0+2+[sqrt(7!)] = ( (2+0!)!)!!+27`👍
`76 = [202:sqrt(7)] = 20+2*7!!!`👍
`77 = |__|~sqrt(20)~|!!*sqrt(27)__| = |__20*2*ln(7)__| = (2%)^(-0!)+27 `👍
`78 = [|~sqrt(20)~|!!*sqrt(27)] = [20*2*ln(7)] = -2+( (0*2)!+7)!!!`👍
`79 = |[sqrt(20)]!+2-7!!| = .2*(0!:(.2%)-7!!)`👍
`80 = |~sqrt(20)~|!!+[ln(27!)] = (2:(0+2)+7)!!!`👍
`81 = (2+0!)*27 = 20:2+[sqrt(7!)]`
`82 = |[sqrt(20)]!-[sqrt(2)]-7!!| = 2+( (0*2)!+7)!!!`👍
`83 = |20+2-7!!| = -20-2+7!!`👍
`84 = 20+|__ln(27!)__| = 2*(0!+2)!*7 `👍
`85 = 20+[ln(27!)] = -sqrt(20^2)+7!!`👍
`86 = 20:2+|__ln(7!)__| = 2*(0!:2%-7) `👍
`87 = |20-2-7!!| = -20+2+7!!`👍
`88 = 20-2+!__sqrt(7!)__| = 2*!(0-2+7) `👍
`89 = 20-2+[sqrt(7!)] = 2*( (0!+2)!)!!-7`👍
`90 = -|~sqrt(202)~|+7!! = (2+0!)*(2+7!!!)`👍
`91 = |[sqrt(202)]-7!!| = 20+sqrt(!2+7!)`👍
`92 = |~20.2+sqrt(7!)~| = 2: .(02)-7`👍
`93 = |~sqrt(20)~|!-27 = [20+2+sqrt(7!)] = -([sqrt(20)]+2)!!!!+7!! = 2: .02-7`👍
`94 = |__sqrt(20*2) * [sqrt(27)]!!]__| = 2+(0!: .2)!-7!!! `👍
`95 = [sqrt(20*2) * [sqrt(27)]!!] = -20:2+7!!`👍
`96 = |~(20-2)*sqrt(7!!!)~| = 2*(0!-2+7)!!`👍
`97 = 202-7!!`
`98 = [sqrt(202)]*7 = (2+0!: .2)!!-7`👍
`99 = [sqrt(202)*7] = -2*(0!+2)+7!!`👍
и так далее...
Большие числа
А можно задаться вопросом, какое самое большое число можно получить из цифр 2,0,2,7?
`20*27 = 540`
`202*7 = 1414`
`2027 = 2027`

`202*7!! = 21210`
`20^2*7!! = 42000`
…
`202*7! = 202*5040 = 1018080`
`20^2*7! = 400*5040 = 2016000`
`202^7 = 13723332506969728`
`20^27 = 1,34217728*10^35`
Теперь привлекаем факториалы и комбинаторику:
число сочетаний `C_27^20 = \frac{27!}{(27-20)!\cdot 20!} = \frac{27!}{7!\cdot 20!} = \frac{21*22*23*24*25*26*27}{1*2*3*4*5*6*7} = 888030`
число размещений `A_27^20 = \frac{27!}{(27-20)!} = \frac{27!}{7!} = 8*9*10*…*25*26*27 = 2160489970321101619200000`
`20!*27! = 2432902008176640000*10888869450418352160768000000 = 2,6491552352696075311705503747822*10^46`
`202^(7!) = 202^5040 =` очень много :)
Ну а в полном факториале 5825 цифр:
`2027! = 1*2*3*4*5*…*2023*2024*2025*2026*2027 =`
53724013050572904604188455698184146429526422371994478873241548936261515946190248461395289666992857979742335122926497466214250634679732984042533736581022552749508170160165324914345274738615373246831140914118236873862608439302641556583416550461774970408417117751418746690956724357594025857997641222009426655032052240001141493817174709885779032189284382350175299935127199080891458116172245645543523626953210915787769793318628882664225124344544338943362649368092261613648834693892141407582082266417768556844522791864529187368215333047898526058815772446445851001452165115763139226335385672118950376339813601638257668551024027874102968956874142811993286991823737220583065023341320551781645381853675908974383617662163210605764447479751342582943406388504918100375146329308618538525062790901721001759726496974525393936534890408628198272984488418927024055952766785379352130042402607490205543105005485058298285504800919788769693437981650214895014184222684171897910470757212573920889034838200899426315065099570154830608654420070351377330764800619367715910487039941036299280961859067565354914949500025822615419556659951595607024749281249197589265422591799074360191477267200135036449317048419009595848826230868121521123012040008468151326735167050904947629902669282494579783853542245764742970163329009216383260704578559077011084368083286068718901885195256071961382459446236009791348414024766753025177675363180962420781304728698532271814614378299015237045823437330938982025658057515104774350388296568228561700990504043023577607604505109001789120751550128674428480840948662696435459527261938392394396111537817030259565528648645047082434640320291925801112430145934632590915378801942294835758621774222629888019488113262900219733637832180229916871395773137176196685177277226807314244161462857835486592693888946161072405635147439628924716005038654698012477865317889815931930194782460798876881808569951413359293129569417103161186088252945279882075658501155309793986472919232511237888509920709859531719928721516813458442964343101786756150906502800510705325426410552510250291726620173325233532281603845874556588935445158036245175034216685498203131433758524649457136370507611703930315758457146861938138252862770069271157981145543571975891152714361432258092375362699709151521523776776818554690627945008733475570006411218861270860352336295776078963901396110436415966174082560485565749545310767484869247890234909604248987428559499271046843422608716957673137285472596394674834242476130608167902643482507333606714467277146031026177424425855285262047627194423398627520758033112602568003948933063973698868258553153534945117246278999360551190366247341486477534845497860201242393689391495160637431133697645647439078002247992719554979988922599844017253955495105036153898068680651785605945360774158546588371262066604589615335716691348299203852932515715871428691970931854736783349642764333730098635544485750060906702104468635642881548307769783488594354341487591719133938002874085823280832718283951326303246077256193146559624269694007304345628714659071355024380214065087115198606575675426219991432869578492846601721621373347895263137797736537715216935242141975485373116096695818942123374182097069557156702125637391746602996167520458468556498502959217496826041779141376762947429477866607673231154340878361899319221993365952246721020240283442800550270197539498144373256438030948838768491900525746123499292321899555031908119562635680370280412524761012873325679044832494574063802540798580135088467729697182490473313993612966107050067296780369525501598507316558800928330105975007998530172284535202927606564103720444966480309105983222467720955786102164964691708843789856062166486369613728516525634742404711841040306076738700681234726055177004439288282539206803621537384729812124814536501241947212571830232915031882774474229280717685042509595097184202794489215399671781325903876250042978175647566364532831330904102290365002754328277756348958662928085945528088990275189626623289228122927442156191420171631235567623657017588599258402083363250633968463390648500469633269902256623267684548794276900496392650357802105662643879651271449455041342433568273351097090648638978346771195543319706339243611619801081160858285408442377299117962953616634427501216981613442964457847111071447431859199676953064234045244453803316329953232602315901175690200027147642138590027290583425571888717921662929080469219328887877924476376326179802209721475214610290698594945742639986793570115477493206112509472204485629732358033689765992050309764030481186301042061114865553726514928568432548115825919517032005416111554994963065444632096646432079264731244500000235338309470509124412509405267893402352761524988131384796242349303242108469390261612067881355649966255332099601803788939288587880139939297715244246214555753565824162397827087890214239548127676458407519117406336063563776794111501997496189314090546264231420784761904357213476527871456538099099747321226727986418708172278287863009992990987910275947721762034403615270517043283900281410441527088817208618539586049062904078138841693882442558242433926046083055402433123335293657843155306391769012861672462165123649616799410454851007790913334761652992237126169336377815535981056628259765794405339889038950171293015342770250426941745531348638057244565520046475556481148249495333023665972011848016385159173024905282908078297450277095424540016640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Только вот ничего посчитать этим числом невозможно. По современным оценкам, число элементарных частиц в наблюдаемой Вселенной — порядка `10^80` (точнее, чаще всего приводят диапазон `10^78 ÷ 10^82`).
То есть факториал 2027 больше числа частиц во Вселенной на 5745 порядков. Это невообразимо огромное число.
Наверное, можно получить и ещё большие значения.
`20^(27!) = 20^10888869450418352160768000000 = ?` ни один онлайн-калькулятор по работе с большими числами не смог посчитать, говорят, в результате больше 10000 цифр.
`20^(2^(7!)) = 20^(2^5040) ~= 20^(1,5530239256875560295470379164512*10^1517) = ?` а это число, судя по всему, ещё больше.
Малые числа
`20:2.7 ~= `
`2.027 = 2.027`
`2.0:27! = 1,8367379727591092296851433672948*10^-28`
`2.0:2^(7!) = 2:2^5040 = 2/(1,5530239256875560295470379164512*10^1517) =` очень мало :)
`2*0*27 = 0`
Некоторые интересные преобразования и соотношения
Число 2027 в разных системах счисления.
Кстати, переводить число из десятичной системы в любую другую очень легко. Делим в столбик наше число на основание нужной системы счисления, пока делится. Затем записываем остатки от деления задом наперёд. В системах с основанием больше `10` в качестве следующих за привычными цифрами `0123456789` используются «цифры» из латинских букв ABCDEFGHIJKLMNOPQRSTUVWXYZ. Поэтому не забываем конвертировать полученные остатки в «цифры» требуемой системы счисления. Этим способом можно записать числа до `36`-ричной системы включительно.
Например, хотим мы перевести число `2027` из десятичной системы в `27`-ричную. Делим `2027:27=75(2` ост`)`, `75:27=2(21` ост`)`, `2:27=0(2` ост`)`. Получили три остатка `2,21,2`.
`21` – это цифра L `27`-ричной системы. Записываем остатки задом наперёд и получаем `2L2`.
Кстати, для систем счисления с основанием больше `36`, десятичные цифры и латинские буквы заканчиваются, поэтому записывать такие числа становится не очень удобно. Есть несколько способов.
Например, рассмотрим, как можно записать число `2027_64`. Считаем остатки: `2027:64=31(43` ост`)`, `31:64=0(31` ост`)`. Записываем их задом наперёд: `31,43`. Обычно просто в скобках через запятую пишут десятичные значения цифр, а за скобками пишут основание.
Либо каждый разряд пишут в квадратных скобках.
Но можно взять за основу кодировку, используемую в Base64.
В ней используется специальный набор из `64` символов: по `26` больших и маленьких латинских букв, `10` обычных цифр и два знака + и /. В этой системе записи `2027` будет выглядеть так:
Можно придумать свою таблицу, в которой просто продолжать «генерировать» цифры после Z другими буквами, например, строчными латинскими, греческими, кириллическими и т.п. (хоть китайскими иероглифами
). Я придумал вот такую:
При помощи этой таблицы можно записывать цифры до `180`-ричной системы включительно.
Но такая запись скорее всего вызовет путаницу, т.к. много символов выглядят одинаково, хотя с точки зрения компьютера имеют разные коды. Поэтому применять её можно только в чисто теоретических задачах или шутках. В общем, как мы любим
.