Это карательная арифметика. Миллион комбинаций в сотку: 123456 = 100.

Итак, дамы и господа, объявляю задачку «как превратить шесть произвольных цифр в 100» завершённой. Не «решённой», а именно «завершённой», поскольку доказательств нерешаемости оставшихся комбинаций нет – и непонятно, как строить эти доказательства.

Для тех, кто видит это арифметическое упражнение впервые, объясняю условие задачки (а кто уже забыл – напоминаю). Условие следующее:

Можно ли из любых шести последовательных цифр (за исключением первого нуля) при помощи операций плюс, минус, умножить, разделить, возведения в степень, корней, факториалов и скобок получить ровно 100? «Склеивать» цифры можно, переставлять местами – нет.

Например, как сложить 100 из «123456» – да способов полно! Например,

123456:

( — 1 + 23 ) * V ( 4 ) + 56 = 100 // если кто здесь новенький: V(n) – это корень из ‘n’, сделано для удобства.
1 * 2 * ( — 3 * V ( 4 ) + 56 ) = 100
— 1 * 2 * ( 3 + 4 ) + 5 ! — 6 = 100
( 1 + 2 ^ 3 — 4 ) * 5 ! / 6 = 100
( ( 1 — 2 + 3 + 4 ) ! — 5 ! ) / 6 = 100
( — 1 + 2 + 3 ) * ( 4 ! — 5 + 6 ) = 100

А такую же штуку с «654321» можно провернуть? Да запросто!

654321:

65 + 4 + 32 — 1 = 100
-6 + 5 ! + 4 + 3 — 21 = 100
( 6 ! / 5 ! + 4 ) ^ ( 3 — 2 + 1 ) = 100
( 6 + 5 — 4 + 3 ) ^ 2 * 1 = 100
( 6 ! — 5 ! ) / ( 4 + 3 — 2 +1 ) = 100
( 6 — 5 + 4 ! ) * ( 3 + 2 — 1 ) = 100

Таблица с решениями здесь: 123456.xods (формат «.XODS» — это таблицы офисного пакета «МойОфис»).

Все вычисления, дискуссии и доказательства – в нашем уютном фан-клубе, более конкретные ссылки дальше по тексту.

Так вот, задачка в данной постановке решена целиком и полностью. Ответ: «Да! Можно!» Любой шестизнак, начинающийся не с нуля, можно элементарными арифметическими действиями превратить ровно в сотню.

Но мы на этом не остановились – и превратили в 100 все шестизнаки, начинающиеся с одного нуля. А затем порешали и все остальные комбинации, начинающиеся с двух-трёх- и далее нулей. Ответ на расширенное толкование условия задачки такой:

Нам не удалось превратить в 100 следующие шестизначные комбинации:

000000 000107
000001 000113
000002 000116
000003 000117
000006 000121
000007 000123
000012 000126
000013 000130
000016 000131
000017 000160
000021 000161
000023 000170
000026 000171
000030 000201
000031 000211
000060
000061 001160
000070
000071

= всего-то 35 комбинаций. Отличный результат, коллеги!

Для получения арифметического удовольствия – вот несколько красивых и/или сложных решений.

Красиво:

066660: — 0 ! + 66 + 6 * 6 — 0 ! = 100
088777: 0 + V ( V ( 8 + 8 ) ) + 7 × ( 7 + 7 ) = 100
088876: 0 + 8 + 8 + 8 + 76 = 100
267227: ( 2 — 6 ) * ( 7 — 2 ) * ( 2 — 7 ) = 100
870787: 8 + 70 + 7 + 8 + 7 = 100

Сложно:

050606: ( — 0 ! + 5 ) * ( 0 ! — 6 ) * ( 0 ! — 6 ) = 100
085080: 0 ! + 8 + ( 5 + 0 ! ) ! / 8 + 0 ! = 100
160280: V 16 * ( V ( 2 * 8 ) )! + 0 ! ) = 100
300067: ( 3 — 0 ! ) * ( 0 ! + ( 0 ! + 6 ) * 7 ) = 100
620007: 6 ^ 2 + ( 0 ! + 0 ! ) ^ ( — 0 ! + 7 ) = 100

Очень сложно:

000057: ( ( ( 0 ! + 0 ! + 0 ! ) ! ) ! ) / ( 0 ! / 5 + 7) = 100
000221: 0 ! + ( — 0 ! + ( 0 ! + 2 ) ! ) ! — 21 = 100
071161: ( ( — 0 ! + 7 — 1 ) ! ) * ( — 1 / 6 + 1 ) = 100
071267: ( — 0 ! — 7 — 12 + 6 ! ) / 7 = 100
767177: ( — 7 + 6 ! — 7 + 1 — 7 ) / 7 = 100

Очевидно, что перебирать весь миллион вариантов вручную физически невозможно. Нужно как-то оптимизировать задачу, фильтровать заведомо решаемые варианты. И началось обсуждение… // Немного архивного: начало обсуждения «как решать» находится здесь, а рабочий вариант решения (разбиение на «трёхзнаки») начинается по этой ссылке.

В результате решено было разбить шестизнаки «abcdef» на два трёхзнака «abc» и «def» и сразу отфильтровать те, которые «abc» => 10 и «def» => 2 или 10 (поскольку, очевидно, 10 * 10 = 10 ^ 2 = 100) – там по ссылкам всё это есть.

И – успех! Сразу отфильтровалось аж 77.5% всех комбинаций шестизнаков! Ну а дальше мы начали накладывать дополнительные фильтры и обсчитывать то, что осталось. Сначала порешали оставшиеся шестизнаки, начинающиеся с «9xx» – и так далее в сторону уменьшения.

По дороге были придуманы многочисленные арифметические заклинания, например:

68: 6 ! / 8 = 90
565: 5 ! / 6 * 5 = 100
2662: 2 ^ 6 + 6 ^ 2 = 100
108: V ( V ( 10 ^ 8 ) ) = 100
656: ( 6 ! — 5 ! ) / 6 = 100
5116: 5 ! * ( 1 — 1 / 6 ) = 100 // 000360: ( 0 + 0 ! — 0 ! / 3 ! ) * ( 6 — 0 ! ) ! = 100
6715: 6 ! / ( 7 + 1 / 5 ) = 100 // 610067: 6 ! / ( 1 * 0 ! / ( — 0 ! + 6 ) + 7 ) = 100

1210: ( 1 / 2 ) V ( 10 ) = 100 // дробный корень.

670001: ( 6 ! / ( V ( 7 ! + 0 ! ) + 0 ! ) ) ^ ( 0 ! + 1 ) = 100 // V ( 7 ! + 0 ! ) = 71
776771: ( 7 ! — 7 ! / 6 ) / ( 7 * ( 7 — 1 ) ) = 100 // 7 ! — 7 ! / 6 = 4200
776777: ( 7 ! — 7 ! / 6 ) / ( 7 * 7 — 7 )= 100
000267: — 0 ! — 0 ! + ( — ( 0 ! + 2 ) ! + 6 ! ) / 7 = 100

Таблица для проверки: tricks.xods

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

И вот такой арифметической алхимией мы пришли к совершенно замечательному результату: не удалось собрать 100 всего-то из 35 шестизнаков. Ура!

Прочитать комментарии 0
Оставить заметку