Перейти к содержанию

Определение задачи и её решение.


Рекомендуемые сообщения

Опубликовано

Дамы и господа, мальчики и девочки -

 

Разрешите представить вам труд многомесячной работы творческого арифметического коллектива по теме "как сложить ровно 100 из того что было". Интереснейшее было цифровое путешествие, весьма сложная задачка - и не уверен, что в будущем получится придумать похожие по сложности и трудоёмкости прочие арифметические забавы. Что там было и как мы учились "карательной арифметики" - эти упражнения все достаточно тщательно расписаны уже ранее, достаточно потыкать по ссылкам на нашем фанклуб-форуме.

 

Здесь же и сразу хочу сформулировать эту архисложную арифметическую задачку:

 

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

 

Например-1:

 

0210 = 10^2  -- так нельзя! Двойку переставлять назад не позволяется.

 

0210:   (0!/2)(10) = (1/2)(10) = 10^2 = 100  -- а вот так можно. // кстати, там был корень 1/2-степени - это допускается.

 

Внимание! В дальнейшем знак корня '√' заменяю на символ 'V' ради уменьшения энтропии вычислений.

 

Например-2:  отличный пример как можно вычислять в рамках условия задачки:

 

17206:    1/7*(-20+6!) = 1/7*(-20+720) = 1/7*700 =100

 

Например-3:

 

Простые комбинации.. Ну, например, 12345 и обратно - пример с конкатенациями (слепкой) цифр и факториалами, а второй вообще какой-то очень простой..

 

12345:    12/3-4!+5! = 100

54321:    5*4*(3+2)*1 = 100

 

Например-4:  Да просто возьмите номерной знак своего автомобиля (или рядом стоящего транспортного средства) - и попробуйте из этих цифр в условиях этой задачки получить ровно 100. Склеивать цифры можно, переставлять нельзя!

  • Like (+1) 1
Опубликовано

Как и откуда пришла идея этой задачки? - уже рассказывал. Просто в путешествиях в разные страны иногда приходится стоять в адских пробках (наши столичные пробки на этом фоне - просто незначительные проблемки). И там от нечего делать арифметически превращал номерные знаки соседних автомобилей в сотню - а что ещё делать, если всю почту прочитал, да все интересные интернеты осмотрел? Длинный и местами мож-быть интересный рассказ про это - вон там по ссылке.

 

Вот, например, никаких пробок - но по немецкому автобану A5 (из Франкфурта на север) едет ушастый Запорожец с номерным знаком "968 77" (буквы не важны). // фотка сделана мной в сентябре 2013.

zapor-de-2013.jpg

 

Что можно сказать про его номерной знак 96877 ? А разное! - вот, например:

 

96877:    (9-6)!+87+7 = 100

96877:    V(9)+6!/8+V(7*7) = 100

96877:    -V(9)!-6+8*(7+7) = 100

 

Так вот, подумалось - а из каких комбинаций цифр невозможно сооружить ровно "100" ?

  • Like (+1) 1
Опубликовано

Поскольку изначально задачка "сложить 100 арифметически из набора цифр" возникла из автомобильных номерных знаков, то оттуда и последовало направление решения. Ведь номерные знаки в России содержат 6 или 5 цифр (номер+регион), то я начал замечать, что практически вообще все 6-значные номера складываются с сотню (или же успевают уехать в даль до момента решения), а вот с пятизнаками иногда бывает сложнее...

 

То есть, первоначальнао задача была только про шестизнаки... А ещё ранее, в самом первом изложении - тогда было страшно браться за шестизнаки с нулём в начале. Например, "012345" - сейчас это легкота: 0*1+(2+3)*4*5 = 100, а вот тогда нули в начале комбинации страшили.. Посему, изначально задача звучала вот так:

 

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

  • Like (+1) 2
Опубликовано

Поскольку здесь в данной ветке приводится именно решение задачки, а не процесс её решения (это увлекательнейшее арифметическое путешествие - в параллельных ветках, начиная вот отсюда) - то сразу сообщаю, что задачка была целиком и полностью освоена. Наверняка, что-то могли пропустить, где-то ошибиться, что-то неправильно подсчитать - но результат есть. И он такой. От "однознаков" - до выхода на "всё решабельно".

 

1. Однознаки от "0" до "9" - число "100" получить из такого можно только по щучьему велению. Или же в бутылке джина найти джинна.

 

2. Двузнаки от "00" до "99" - аналогично. 100 = 5*4*5 или же "двузнак+цифра". Всё на этом, решений нет.

 

3. Трёхзнаки (решение здесь). Всего таких тысяча (что неудивительно). Решить получилось 140 (14%), не получилось 860.

 

4. Четырёхзнаки (подробности смотреть здесь). На момент написания этого текста не нашлось решений для 2736 нерешённых вариантов (27.4%).

 

5. Пятизнаки! - арифметически слабонервным сюда не заглядывать! Из 100-тысяч вариантов не удалось превратить в "100" только 1134 пятизнака =  1.134% от всех возможных комбинаций // окончательный результат "1134" ещё может поменяться...

 

6. Шестизнаки "123456", с чего всё начиналось. Не смогли найти решение только для 35 из миллиона возможных комбинаций! То есть, не решено 0,0035% из всего набора вариантов. Вот такая "карательная арифметика"...

 

7. Дальше - ... ну, совсем быстрее (если применять заранее наработанный арифметический арсенал). В "100" не складываются только две комбинации: 0000000 и 0000001.

 

8-и-далее-знаки:  все такие решаются в "100". И всё на этом.

 

Но кому интересно - далее в сжатом виде будет представлен результаты всего полугодового труда нашего арифметического коллектива. Само собой, мы работали "в факультативном режиме" (в свободное от работы, да), но всё же полгода цифровых упражнений и в результате достойный ответ на поставленную задачку - ай, какие молодцы!

  • Like (+1) 1
  • Спасибо (+1) 1
Опубликовано

Теперь же настало время объяснить методы решения задачки превращения произвольных последовательностей цифр ровно с сотню "100". Изначально мы отталкивались от задачки про шестизнаки ("123456" - так "исторически сложилось"), то пытались найти оптимальные методы её решения.

 

 "abcdef" == 100.

 

Само собой, вручную подсчитывать (или программно код настраивать на) весь этот миллион вариантов от 000000 до 999999 = ухандокаться можно, то следует искать оптимизации. // Сразу отвечаю на вопрос: ИИ-шницы на вопрос о подобной задачке все жидко обгадились, поскольку это уникальное упражнение - и подглядеть ответ просто негде.

 

Итак, "в лоб решать" миллион вариантов - нужны тысячи "арифметических рабов". Код сооружать - не очень понятно как. ИИ-шница не в помощь. То есть, очень правильное место для применения своих личных человеческих хомо-сапиенских мозгов. Будем строить фильтры, которые помогут нам отсеять ненужное - а остальное будет решать "вручную".

 

Как строить эти фильтры? - некоторое время потратили на обсуждения и эксперименты. Затем пришли к выводу, что нужны разноуровневые фильтры, которые будут примерно как в горнорудном производстве "обогащать руду". И для шестизнаков первый фильтр (или "фильтр первого уровня") - это разбиение шести цифр на два трёхзнака.

 

 "abc"+"def" == 100.

 

Фильтр-1 работает так:

- разбиваем шестизнак на два трёхзнака.

- если из "abc" можно получить десятку "010", а "def" = "002" или "010", то:

 

 "010" * "010" = "010" ^ "002" = 100

- для таких комбинаций задачка решена, их можно отфильтровать сразу.

 

Более того, если "def" есть не просто "002", а степень двойки - то такие тоже можно отфильтровать сразу и навсегда:

 

 V(V("010"^"008")) = V(V(V("010"^"016"))) = V(V(V(V("010"^"032")))) = ... = 100

 

То есть, для любого натурального 'n' => V(...V("10"^2^n)...) = 100

 

 

Итого, чтобы из всего миллиона шестизнаков оставить для дальнейшей работы значительно поменьше миллиона нужно найти все "не-010-трёхзнаки" ("abc") - и все "не-002^n - и не-010" трёхзнаки ("def").

 

// зачем так подробно расписываю? - чтобы потом не вспоминать что, зачем и почему :)

  • Like (+1) 2
Опубликовано

Теперь же нам следует найти все трёхзнаки "abc", которые не превращаются в "010" - чтобы потом отфильтровывать их в последующих вычислениях. А также найти все трёхзнаки "не-002", а потом из них получить "не-002^n" ...

 

// здесь и далее терминами "не-xx" называются двузнаки "ab", из которых нельзя получить число/цифру "xx". Аналогично "не-xxx" и "не-xxxx" - те "abc"/"abcd", из которых нельзя получить "xxx"/"xxxx". // Пятизнаки "не-ххххх" и далее "не-xxxxx..." не потребуются.

 

То есть,

 

// "не-02,05" = двузнаки, из которых не получаются ни 2, ни 5.

// "не-005,009" = трёхзнаки, не дающие ни 5, ни 9.

 

Итак, нужно выяснить какие "abc" невозможно арифметически превратить в "010". Например,

 

 123:  никак не превращается в десятку.

 321:  3^2+1 = 10   <-- а этот превращается!

 

Брать всю тысячу комбинаций и тупо её решать - можно, но долго и дорого... // В самом начале так и делал, но потом оптимизировал.

 

И далее будет про оптимизацию фильтрации. // о как! :)

  • Like (+1) 2
Опубликовано

Для дальнейших арифметических упражнений нам потребуются следующие навыки:

 

1. Арифметическая угадайка. Умение видеть разные комбинации. И не просто "6+7+87 = 100", а более изощрённые. Например,

 

  2771:      2*(7*7+1) = 100
  17820:    V(17+8)*20 = 100

 

2. Арифметический арсенал. Потребуются библиотеки комбинаций "не-ab", "не-abc", "не-abcd" - и производные из них, вроде "не-01-02-05" и типа того.

 

Например, есть комбинация "8712xx". Какие "xx" можно отфильтровать?

 

8!/7!*1+2 = 10   --- то есть, можно сразу выбросить все "xx", которые дают "02^n" или "10" (примеры см. выше). А также:

87+(1+2)!+"07" = 100  --- то есть, можно выбросить все "xx", которые дают "07". То есть ==>

 

Для решения всех комбинаций "8712xx" потребуется фильтр:

 

  8712xx:    8!/7!*1+2 = 10, 87+(1+2)!+"07" = 100          "не-02^n,07,10" = 6 штук.

 

И вот эти "6 штук" для ручного перебора будем доставать из "арсенала".

 

3. Таблицы умножения степеней и факториалов. А как иначе угадать, что:

 

  (6!-5!)/6 = 100

  V(7!+7!-80) = 100

 

- ну, и так далее. А там такие арифметические лабиринты с минотаврами - аж закачаешься!

 

4. Арифметическая магия, на всём этом устроенная:

 

1065:       (1-0!/6)*5! = 100

4269:       4*(-2+V(6!+9)) = 100

5116:        5!*(1-1/6) = 100

26767:     -2-6/7+6!/7 = 100

72766:      (7!-(-2+7)!)/6-6! = 100

776777:    (7!-7!/6) / (7*7-7) = 100

 

- и так далее! Много и обширно.

  • Like (+1) 1
  • Спасибо (+1) 1
Опубликовано
17 часов назад, E.K. сказал:

3. Таблицы умножения степеней и факториалов.

Арифметические "угадайки и магия" - понятия абстрактные, - а вот корни-степени-факториалы и их таблицы вполне конкретны, и на этой базе можно нужно построить арифметический инструментарий, который в дальнейшем активно используется. Вот, например:

 

Простейшие и весьма часто используемые приёмы:

 

6^2+2^6 = 6*6+8*8 = 100

5!-7-7-6 = 100
5*5!/6 = 100
(6!-5!)/6 = 100
(6!-20)/7 = 100

6!/8 = 90

 

6!/7!  и (7!)V(n^8!) = весьма полезные методы избавления от "лишней" цифры:

 

700*(6!/7!) = 100
V(V( (7!)V(10)^8! )) = 100

 

// Увы, кубические и прочие корни "степени-n", а также дробные корни таблицы МойОфис не поддерживают, посему для проверки подобных вычислений мною использовался онлайн-сервис "Вольфрам-Альфа".

 

// А также! Совсем забыл заметить, что в таблицах МойОфис есть уникальная возможность использовать запись "n!" для факториалов,  а не "ФАКТР(n)", а для квадратных корней возможна запись "V(n)" вместо КОРЕНЬ(n) - что значительно ускоряет работу с вычислениями, где постоянно встречаются корни и факториалы.

 

Продолжаю -> Разные прочие "пляски" с делением степеней и факториалов - очень полезный инструмент в безнадёжных арифметических ситуациях:

 

7!/8/6-5 = 100
70^2/7/7 = 100

 

Отрицательные и кратные степени и корни - также отличная помощь в арифметических тупиках.

 

(1/10)^-2 = 100
(6/(6!-5!))^-1 = 100

 

И так далее, различные полезный арифметический инструментарий:


(-6!+7!-6!)/6^2 = 100
V(7^6)-3^5 = 100
(7!-5!)/6-6! = 100
(7+1/7)*(7+7) = 100
(7!-5!)/6-6! = 100
V(1+7!/6)+V(1+7!) = 100

 

Очень полезные методы для вычисления "не-11, не-12":

 

V(1+5!) = 11
V(4!+5!) = 12
V(6!/5) = 12

 

Само собой, список подобных инструментов не заканчивается - в дальнейшем они будут "всплывать" по мере изложения материала.

  • Спасибо (+1) 2
Опубликовано
32 минуты назад, E.K. сказал:

(7/(6!-5!))^-1 = 100

Очепятка: (6/(6!-5!))^-1 = 100

  • Согласен 1
Опубликовано
21 час назад, E.K. сказал:

2. Арифметический арсенал. Потребуются библиотеки комбинаций "не-ab", "не-abc", "не-abcd" - и производные из них

Библиотеки необходимого арифметического медикамента сейчас начну накидывать вон в той ветке Lib-12-123-1234, а пока же надо определиться с некоторыми правилами и условными обозначеними.

 

Повторюсь, что вот такой записью: "0n", "00n", "000n" - так обозначается число 'n', полученное (или не полученное если "не-0n, не-00n, не-000n") из двузнака, трёхзнака и четырёхзнака. Пятизнаки и далее не потребуются.

 

Скобками [...] вот такими: "не ...[n]..." - выделяется решение или число 'n', которое подходит под вычисления, но никак не улучшает работу конкретного фильтра.

 

Цифровая оптимизация.  

 

Если мы без конкатенаций получили единицу "1", то она автоматически перекрывает "0", поскольку 0! = 1.

Если получили двойку "2", то перекрывается "4", так как V(4)=2.

Если получена шестёрка "6", то автоматом фильтр работает на "3" и "9", так как V(9)! = 3! = 6.

 

То есть, фильтр "не-02" сильнее фильтра "не-04" - и если уже есть "не-02", то четвёрку можно игнорировать. Так же "не-06" перекрывает "не-03,09", а "не-03" сильнее "не-09".

 

Цветовая дифференциация.

 

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

 

Красным цветом выделяются не решённые и проблемные комбинации. Например, решения, где вопреки оптимизации потребовалась конкатенация цифр, вроде такого:

 

  62147:    V(6-2)+14*7 = 100        

  62047:    V((6!-20)^V(4))/7 = 100

 

- в данном примере хотелось бы сразу решить также комбинацию 62047 через правило "0!" = 1, однако по причине конкатенации "14" здесь это не работает. А вот стоящая отдельно "2" легко превращается в четвёрку и (6-2) = (6-V(4)) => это сразу решение для комбинации 64147.


Зелёным выделяется сложное, прикольное, необычное, понравившееся.

 

Вроде всё на этом с обозначениями...

  • Спасибо (+1) 1
Опубликовано

Библиотеки "не-12" и "не-123" подсчитаны, результаты представлены по ссылкам Lib-12 и Lib-123. Также для Lib-12 есть скрипты, которые высчитывают все возможные комбинации "не-xx,yy,zz,..." - очень полезный инструмент для дальнейшей работы. // Надеюсь, что для Lib-123 такое тоже появится.

 

При подсчёте Lib-12 никаких арифметических сюрпризов не обнаружено... ну, может быть, только за несколькими исключениями:

 

48:               4!/8 = 3
15/51:         V(1+5!) = 11
45/54:         V(4!+5!) = 12
65:               V(6!/5)    = 12

 

А вот трёхзнаки порадовали обилием необычных комбинаций. Думаю, что будет полезно их здесь привести.

 

Как неожиданно получились двойки и двойка в степени:


656:    V(6!/5)/6 = 2                            // V(144)/6 = 12/6 
786:    (7!/8!)^-6 = 262144 = 2^18    // вот такая степень двойки... "002^n".

 

-= 003 =-  далее про тройки, четвёрки и так далее.

 

226:    V(2^-2)*6 = 3          // игры с отрицательными степенями.
262:    V(2/6)^-2 = 3        
585:    5!/8/5 = 3                // не сразу было замечено, что 4!/8 = 3.
747:    V(V(74+7)) = 3        // V(V(81)) = 3, аналогичные решения для 756 и других.
828:    (8/2)!/8 = 3             // тоже вариации на тему "4!/8".
848:    (8/V(4))!/8 = 3

 

-= 004 =-

 

548:    V(5!+4!)-8 = 4          // 5!+4! = 144  -- пригодилось в самых разных ситуациях.
558:    V(5!/5-8) = 4
658:    V(6!/5)-8 = 4            // 6!/4 = тоже 144.
728:    V(V( (7!)V(2^8!) ))    // необычная трактовка V(V(n^8)) = n^2.
825:    V(V(8*2^5)) = 4       // так тоже бывает со степенями двойки..
858:    V((8+5!)/8) = 4        // 5!+8 = 128, очень удобно в некоторых ситуациях.
872:    8!/7!/2 = 4              // игры с факториалами и дробями - часто бывает полезно.

 

-= 005 =-

 

187:        V(18+7) = 5        // иногда мимо внимания проскакивают совершенно очевидные комбинации.
257/457:    V(2^5-7) = 5
625:        V(V(625)) = 5      // таблицу степеней и факториалов всегда полезно держать где-то рядом :)

646:        6!/4!/6 = 5          // и снова факториалы и дроби.
657:        V(6!/5)-7 = 5

 

-= 006 =-

 

747:    V(V(74+7))! = 6        // если из 81 получается 3, то, очевидно, и 6 тоже можно получить.

 

-= 007 =-

 

175:    V(-V(1+7!)+5!) = 7    // полезная магия: 5!-71 = 49.
571:    V(5!-V(7!+1)) = 7

 

627:    V(6!^-2)*7! = 7         // нетривиальный выкрутас через факториал и отрицательную степень.
672:    V((6!/7!)^-2) = 7

 

267:    V(V(V(V(V(V( (2^-6)V(7) )))))) = 7    // такое тоже случается...
647:    V(V( (6/4!)V(7) )) = 7
674:    V(V( (6)V(7^4!) )) = 7

 

838:    8!/(3!)!/8 = 7        // факториалы и корни.
858:    -8+5!/8 = 7
868:    8!/6!/8 = 7

 

-= 008 =-

 

381:    V(V(3^8))-1 = 8      // ну, и разное прочее в ассортименте!
647:    V(64)!/7! = 8
748:    V(7!^-V(4))*8! = 8
785:    V(-7*8+5!) = 8

259:    V(25)+V(9) = 8

278:    V(V(V(V(V(V(V( (2^-7)V(8) ))))))) = 8

366:    V((3/6)^-6) = 8
370:    V(-3!+70) = 8

456:    V( 4+V(5*6!) ) = 8

515:    5!/15 = 8
526:    V( (5!)V(2^6!) ) = 8

535:    5!/3/5 = 8

556:    V(5!-56) = 8
565:    V(-56+5!) = 8
577:    V(57+7) = 8
578:    V(5!-7*8) = 8

758:    -7+5!/8 = 8
782:    V((7!/8!)^-2) = 8

825:    V(V(V(V(V(8^2^5))))) = 8
858:    V(V(8^5/8)) = 8
885:    V(V(... 15 V(8^8^5) ... )) = 8

 

-= 009 =-

 

223:    V( (2^-2)V(3) ) = 9
232:    (2/3!)^-2 = 9
262:    (2/6)^-2 = 9
268:    V(V((2/6)^-8)) = 9

457:    V(4!+57) = 9
468:    V(V((V(4)/6)^-8)) = 9
486:    4!/8+6 = 9

574:    V(57+4!) = 9

644:    V(6^4)/4 = 9
684:    V(V(6^8))/4 = 9

689:    V(6!/8-9) = 9
748:    (7+V(4))!/8! = 9

 

-= 010 =-

 

151:    V(1+5!)-1 = 10
476:    V(4!+76) = 10
652:    V(6!/5)-2 = 10
672:    6!/72 = 10
748:    7+4!/8 = 10

 

-= 011 =-

 

277:    V(2^7-7) = 11
455:    V(-4+5!+5) = 11
456:    V(-4+V(5^6)) = 11
555:    V(5!+5/5) = 11
610:    V((6-1)!+0!) = 11
727:    V(-7+2^7) = 11
756:    V(7+5!-6) = 11
956:    -9+5!/6 = 11

 

-= 012 =-

 

188:    V(18*8) = 12
555:    V(5!+5!/5) = 12
556:    V(5!/5*6) = 12
565:    V(5!*6/5) = 12
757:    V(7!/5/7) = 12
818:    V(8*18) = 12
839:    V(8*3*V(9)!) = 12
885:    V(V(8+8)!+5!) = 12
967:    9!/6/7! = 12
976:    9!/7!/6 = 12

  • Like (+1) 1
  • Спасибо (+1) 1

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Похожий контент

    • E.K.
      Автор E.K.
      Теперь шестизнаки-"шестёрки". Их (как и семёрок) ровно 36 штук.
       
      600    617    655    665    674    681
      601    618    657    666    675    683
      607    620    658    667    676    686
      608    621    660    668    677    687
      610    633    661    670    678    693
      611    636    663    671    680    696
       
      "Верхний фильтр" даёт вот такие картинки:
      !6xx-xxx.txt  !6xx-xxx.xods
       

       
      К дальнейшей работе вот такие вводные:
       
      600xxx                  655xxx                     675xxx
      601xxx                  660xxx-661xxx       676xxx
      607xxx                  665xxx                     677xxx
      608xxx                  667xxx                     678xxx
      610xx-611xx        670xxx-671xxx        680xxx-681xxx
      617xxx                  674xxx                     683xxx-686xxx
      618xxx
      620xxx-621xxx
      633xxx-636xxx-663xxx-666xxx-693xxx-696xxx
       
    • E.K.
      Автор E.K.
      Настало время "семёрок". Их весьма немало = аж 36 штук.
       
      700   701   705   706   710   711   715   716   726   728   737   746
      750   751   753   756   757   759   760   761   765   766   767   768
      770   771   775   776   777   778   782   784   786   787   788   797
       
      Фильтр первого уровня даёт вот такой результат:
      !7xx-xxx.txt  !7xx-xxx.xods

       
      К ручной обработке или же второму кругу ада фильтров вот такие комбинации:
       
      700xxx-701xxx                    760xxx-761xxx
      706xxx                                  766xxx
      710xxx-711xxx                    768xxx
      715xxx                                  770xxx-771xxx
      716xxx                                  775xxx
      728xxx                                  776xxx
      737xxx-767xxx-797xxx      777xxx
      746xxx                                  778xxx
      750xxx-751xxx                    782xxx-784xxx
      753xxx-756xxx-759xxx      787xxx
      757xxx                                 788xxx
       
      Проверяйте, вдруг где-то недосмотрено..
    • E.K.
      Автор E.K.
      Восьмёрки. Комбинации "не 010", которые начинаются с цифры 8 - их всего 19 штук и выглядят они вот так:
       
      806    827    847    852    855    856    858    860    861    866
      867    870    871    876    877    878    880    881    887
       
      Фильтр-1:
      !8xx-xxx.txt  !8xx-xxx.xods
       
      806xxx        -80+6!/"004" = (V(8+0!)/6)V("010") = -8+(-0!+6)!-"012" = 100        not "004,010,012" = 38. => многовато, требуется фильтр второго уровня.
      827xxx-847xxx
                         V(V( (8+2)^(7+"001") )) = (8+2)^V(7-"003") = (8+2)^(7-"005") = 100    not "001,003,005" = 1.
      852xxx       8*(5^2)/"002" = [8*5/2*"005"] = -8+5!-2*"006" = [-8+5!-2-"010"] = 100    not "002,006" = пусто!
      855xxx                   8*(5*5)/"002" = -8-5+5!-"007" = 100     not "002,007" = пусто!
      856xxx                   -8+5!-6*"002" = -8+5!-6-"006" = 100    not "002,006" = пусто!
      858xxx                  (-8+58)*"002" = 85+8+"007" = 100        not "002,007" = пусто!
      860xxx-861xxx    - фильтр1 пустой -
      866xxx                  (8!/6!-6)*"002" = 86+6+"008" = 100       not "002,008" = 8.
      867xxx                  (8+6*7)*"002" = 86+7+"007" = 100        not "002,007" = пусто!
      870xxx-871xxx    - фильтр1 пустой -
      876xxx                  (8+7*6)*"002" = 87+6+"007" = 100        not "002,007" = пусто!
      877xxx                  87+7+"006" = 100                                    not "006" = 1.
      878xxx                  [87+8+"005"]                                            [not "005" = 76.] - многовато, включаем фильтр-2.
      880xxx-881xxx    - фильтр1 пустой -
      887xxx                  [88+7+"005"]                                            [not "005" = 76.] - многовато, включаем фильтр-2.
       
      Итого, к обработке:
       
      806xxx
      827xxx-847xxx
      860xxx-861xxx
      866xxx
      870xxx-871xxx
      877xxx
      878xxx
      880xxx-881xxx
      887xxx
       
    • E.K.
      Автор E.K.
      Трёхзнаки "abc" = "не 010", которые начинаются с "9", выглядят вот так:
       
      957  983  986
       
      Фильтр:
      !9xx-xxx-filter.txt  !9xx-xxx-filter.xods
      957xxx     95+7-"002" = -V(9)!+5!-7-"007" = 100                                                          not "002,007" = пусто!
      983xxx     98+3-"001" = (-V(9)! + 8!/(3!)!)*"002" = ((V(9)!)!-(8-3)!)/(3+"003") = 100    not "001,002,003" = пусто!
      986xxx     (-V(9)!+8!/6!)*"002" = 98+6/"003" = 9+86+"005" = 100                             not "002,003,005" = 4.
       
      К обсчёту:   986707  986717  986767  986787
    • E.K.
      Автор E.K.
      Необходимо решить (превратить в "100") все комбинации, которые заканчиваются на трёхзнак "def", не дающий ни степень двойки, ни десятку. Такой всего один... и ещё один "странный", который даёт 2^18. Согласитесь, что 10^2^18 это как-то многовато... так что предлагаю решить оба варианта, тем более, что второй "странный" всё равно отфильтровывается моментально.
       
      Итак, два трёхзнака "def" ->
       
      676
      786  // (7!/8!)^-6 = 8^6 = 2^18
       
      Фильтр, используются комбинации трёхзнаков, список которых находится вот здесь.
      !xxx-def-filter.txt  !xxx-def-filter.xods
      676:    (-"002"+6)! + 76 = ("010"-6)! + 76 = 100    not "002,010" = 19 штук.
      786:    "002"*(7*8-6) = "007"+7+86  = 100            not "002,007" = пусто! нет таких.
       
      К ручному обсчёту:

      667676  676676  677676  678676  726676  737676  746676  757676  766676  767676
      768676  776676  778676  786676  787676  788676  797676  856676  877676
×
×
  • Создать...