jayrandom: (Default)
[personal profile] jayrandom
На задачу из прошлого постинга "клюнуло" совершенно рекордное число людей (и они продолжают добавляться). Даже если исключить то, что многие пишут по нескольку комментариев, всё равно впечатляет.

Задача совершенно настоящая, мы её взяли из пионерской книжки Перельмана, но там не говорилось о существовании решения для всех цифр. Немного повозившись, я могу утверждать, что решений на самом деле тьма, с разными степенями строгости. По возможности в примерах я постараюсь использовать язык гугль-калькулятора.

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



Первое, что обычно приходит в голову, это решение с тройкой, 3^3-3. Оно также приведено у Перельмана.

Второе - несколько нестандартное - из двоек: 22+2. Тем, кто утверждает, что это нечестно, нужно внимательно перечитать условие: трижды можно использовать не числа, а цифры, так что всё корректно. Это решение также приведено у Перельмана. Ниже я покажу вариант с двойками как с числами.

Можно немного попаразитировать на готовеньком решении из троек, вспомнив, что существует операция извлечения квадратного корня: sqrt(9)^sqrt(9)-sqrt(9). Чтобы это паразитирование не было таким явным, можно перейти к варианту sqrt(9)*9-sqrt(9).

Четвёрка предлагает сразу два подхода, первый с корнем: 4*(sqrt(4)+4), второй - через факториал: 4!. Во втором случае мы впервые сталкиваемся с необходимостью "потратить" лишние цифры. Когда их две, можно предложить либо прибавить-отнять, либо умножить-разделить: 4!*4/4 или 4!+4-4.

Теперь очевидно, что делать с пятёркой: 5!/5. Лишняя цифра? Одну мы пока удалять не умеем, а что если поглотить две в одну? Например, так: 5!/sqrt(5*5) или симметрично sqrt(5*5)!/5.

Хочется по инерции сделать то же самое и с 6!, поделив его на 6 и на 5, но как из 6 получить 5? Пока отложим.

Шестёрка... Можно бы использовать то же разложение 4*6, которое мы уже видели в первом случае с четвёрками, но как получить четыре из двух шестёрок? Предлагался вариант приближённого вычисления: round(sqrt(6))*round(sqrt(6))*6, но попробуем найти также точные решения.

Вспомним, что используя корень, мы также неявно используем двойку. Она не пишется, но подразумевается. А нельзя ли "вытащить" эту двойку? Конечно можно, используем логарифмы: ln(6)/ln(sqrt(6))=2. Но мы потратили две шестёрки! Не беда, создадим тогда из них не двойку, а сразу четвёрку, и получим такое решение: 6*ln(6)/ln(sqrt(sqrt(6)).

Можно ли каждую шестёрку отдельно преобразовать в двойку? Оказывается, да, для этого достаточно вспомнить, что синус 30 градусов - половина, а половину можно перевернуть. Итак, у нас родился первый "тригонометрический" вариант 6/(sin(pi/6)*sin(pi/6)).

Тригонометрические функции - мощный инструмент. А можно ли так же, как мы поступили с логарифмами, "вытащить" целочисленные делители круга? Можно, для этого будем использовать обратные тригонометрические функции: arcsin(1/2)=pi/6 и смежную arccos(1/2)=pi/3. То есть можно получать тройки и шестёрки из двоек и единиц. Если мы всё-таки играем в цифры, а не числа, то сделаем половинки из пятёрок и получим следующее разложение: pi/arcsin(.5)*pi/arccos(.5)+pi/arcsin(.5).

Не канает? Хорошо, тогда вот пожалуйста, вариант из двоек-как-чисел: pi/arcsin(e/(e*2))*pi/arccos(pi/(pi*2))+pi/arcsin(pi/(pi*2)).

Вернёмся к факториальному варианту шестёрки. Уж раз мы "открыли" тригонометрию, грех будет ей не воспользоваться дальше: 6!/(6*(6+cos(pi))). Попутно мы научились получать единицу, не потратив ни одной цифры: -cos(pi). В принципе, из таких "единиц" уже можно набрать любое число, но не будем машинами :)

У нас остались единицы, нули и семёрки.

Для семёрки пока предложим приблизительное решение: 7/sqrt(sqrt(sqrt(7)))+7*sqrt(7). Использовано четыре семёрки? Не беда, вынесем её за скобки тем же методом, что и в "тригонометрических двойках": 7*(pi/(pi*sqrt(sqrt(sqrt(7)))+sqrt(7)). Точное решение - впереди.

Три единицы! Три единицы за 24 :)
Есть ещё тригонометрическая функция тангенса. Сейчас она нам пригодится, а именно: tan(pi/4)=1, следовательно pi/atan(1)=4. Из четвёрок мы уже умеем делать 24 кучей способов. Пусть, например, так: (pi/atan(1*1))!/1 или так: (pi/atan(1))!+1-1.

Нуль можно преобразовать в единицу, например, возведя в него что-нибудь ненужное: exp(pi)^0. То есть, вариант из нуля можно предложить такой: (pi/atan(exp(pi)^0))! Одного нуля будет достаточно. Остальные можно пролюбить прибавить-отнять на любой стадии. Не стоит только умножать и делить :)

Семёрка - вообще прикольная цифра. Она как будто бы повсюду встречается, нас окружает, а тыкнешь пальцем - и нету её. Увековечим же это в нашем последнем скромном примере: (7*7 mod 7) + (pi/atan(-cos(pi)))!




ЗЫ: из комментов мне понравились следующие варианты:

(5-5/5)!

5*5-sign(5) -- классная идея, жалко что гугль не понимает функции знака. Ну и хрен с ним :)

Суммы разнообразных последовательностей целых чисел. Будет интересной задачкой действительно записать их каноническим знаком суммы (сигмы) с параметрами сверху и снизу, зависящими только от семёрок, или девяток, или чего угодно.

Идея использовать операцию теософского сокращения. В математической записи это - остаток от деления числа на 9 плюс единица. Тоже было бы прикольно выкрутиться, используя этот механизм. Получится своеобразный "шедевр формулообразования", который будет заставлять эээ... реципиента задуматься: что в это формуле хотел сказать автор? :)

Date: 2007-01-11 09:12 pm (UTC)
From: [identity profile] jayrandom.livejournal.com
После того, как понимаешь, сколько открывается возможностей, не хочется применять "лобовые" решения. Хочется больше красоты - как в жизни :)

Profile

jayrandom: (Default)
jayrandom

January 2026

S M T W T F S
    1 23
45678910
111213141516 17
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 19th, 2026 05:27 pm
Powered by Dreamwidth Studios