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

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

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

Теперь шестизнаки-"шестёрки". Их (как и семёрок) ровно 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

 

image.png

 

К дальнейшей работе вот такие вводные:

 

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

 

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

Некоторые комбинации (6 штук) дают "не-006" = 1 вариант, их смотрим сразу:

6XXxxx-not-006-filter.txt

600xxx                                 600/"006" = 100                 not "006" = 1.

633xxx-636xxx-663xxx-    (6!-6!/6)/"006" = 100          not "006" = 1.
666xxx-693xxx-696xxx

655xxx                                 (6!-V(5*5)!)/"006" = 100     not "006" = 1.
660xxx-661xxx                   (6!-(6-1)!)/"006" = 100        not "006" = 1.
665xxx                                 (V(6*6)!-5!)/"006" = 100     not "006" = 1.
674xxx                                 (6!-(7-V(4))!)/"006" = 100   not "006" = 1.

 

К обсчёту шестизнаки:

 

600727  666727  655727  661727  665727  674727

 

Решение простое (не забывая про запрет конкатенаций нескольких цифр у 633xxx-636xxx-... и 660xxx-661xxx) ->

6XXxxx-not-006.xods

image.png

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

Далее по списку. 601xxx - фильтр-2 работает отлично:

601xxx-filter.txt  601xxx-filter.xods

image.png

 

К ручному обсчёту = 30 шестизнаков:

 

601156        601256        601656        601556        601756        601856
601167        601267        601667        601567        601767        601867
601176        601276        601676        601576        601776        601876
601177        601277        601677        601577        601777        601877
601178        601278        601678        601578        601778        601878

 

Решение без сюрпризов:

601xxx.xods

image.png

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

607xxx - фильтр-1 оставляет 32 варианта.

607xxx-filter.txt

(6!+0!)/7-"003" = 6!/(0!+7)+"010" = 100            not "003,010" = 32.

 

Мечтается, конечно, о чём-то вот таком: (6-0!)*(7+"013") = (6-0!)*"0020" = 100, но, боюсь, трудозатраты вычислений "не-013" и тем более "не-0020" будут значительно превышать полученную экономию. Итого, к обсчёту:

 

607006    607176    607666    607761
607060    607567    607667    607766
607061    607607    607670    607767
607066    607617    607671    607770
607067    607655    607676    607771
607076    607660    607677    607776
607077    607661    607706    607777
607106    607665    607760    607787

 

Само собой, в решении доминируют вариации на тему "5*20=100":

607xxx.xods

607.jpg

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

608xxx - фильтр-1 не отсеивает 12 вариантов:

608xxx-filter.txt

V(((6-0!)^8))*"004" = 60+8*"005" = (6!+0)/8+"010" = (6-0!)*(8+"012") = 100          not "004,005,010,012" = 12.

 

Вот они:

 

608000  608001  608077  608767  608770  608771

608777  608778  608787  608860  608861  608877

 

Решение:

608xxx.xods

image.png

 

 

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

610xxx-611xxx - фильтр-1 не даёт ничего, следуем по результатам фильтра-2.

610xxx-611xxx-filter.txt  610xxx-611xxx-filter.xods

image.png

 

Можно, конечно, попробовать "скрестить" всё это с 601xxx - но мне так кажется, что это не рационально. Слишком возрастёт сложность, потребуется особая аккуратность и увеличится вероятность ошибок. Но подглядывать туда не возбраняется категорически рекомендуется.

 

Итого, к ручной работе = 39 шестизнаков:

 

611106        611256        611556        611856
611136        611267        611567        611867
611156        611276        611576        611876
611160        611277        611577        611877
611161        611278        611578        611878
611165
611166        611656        611756
611167        611667        611767
611172        611676        611776
611174        611677        611777
611176        611678        611778
611177
611178
611196

 

Увы, совсем без конкатенаций решить не получилось - не сошлись 611160 и 611161, но в результате всё подсчиталось.  - всё получилось.

610xxx-611xxx.xods

image.png

 

Опубликовано (изменено)

611165   6!/(1+1+1)!/6 × 5 = 100

Ну красиво же, согласитесь?

 

UPD: убрал лишний факториал

Изменено пользователем Xandr_5890
  • Спасибо (+1) 1
Опубликовано

617xxx - улучшенный фильтр-1 даёт превосходный результат: всего 7 штук к работе.

617xxx-filter.txt

6*17-"002" = (6!+1)/7-"003" = 6!/(1+7)+"010" = 100    not "002,003,010" = 7.

 

617667  617676  617677  617766  617767  617776  617787

 

Результат предсказуем:

617xxx.xods

image.png

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

Однако, глядя на 607xxx и 617xxx - хочется порешать их вместе, более оптимально.

 

607xxx        (6!+0!)/7-"003" = 6!/(0!+7)+"010" = 100            not "003,010" = 32.
617xxx        6*17-"002" = (6!+1)/7-"003" = 6!/(1+7)+"010" = 100    not "002,003,010" = 7.

 

Вот так:

 

607xxx-617xxx:    (6!+1)/7-"003" = 6!/(1+7)+"010" = 100            not "003,010" = 32.

 

То есть, решить без конкатенаций все 32 варианта из 607xxx. Это не самая сложная задача, всё решабельно!

607xxx-617xxx.xods

image.png

Опубликовано
50 минут назад, E.K. сказал:

не сошлись 611160 и 611161

Тут прям напрашивается 5!*(1-1/6) = 100.

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

617777   (6!+1-7-7-7)/7 = 100

UPD: попробуйте поспорить, что это некрасиво :)

Изменено пользователем Xandr_5890
  • Согласен 1

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

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



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

    • 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
    • E.K.
      Автор E.K.
      Процесс решения для шестизнаков следующий. Все шестизнаки "abcdef" делятся на два трёхзнака: "abc"+"def". Если "abc"="010", а "def" = "002"^n или "010", то все такие комбинации отфильтровываются, так как очевидно дают сотню:
       
      "010"*"010" = "010"^"002" = V(...V("010"^"002"^n)...) = 100
       
      Таким образом, на вторую фильтрацию и затем на "ручную обработку" отправляются все "abc", которые "не-010" (таких 205 штук) и "def", которые "не-002^n,010" - а такая вообще только одна осталась.
       
      Само собой, при решении данной задачи будет применяться вся мощь наработанного арифметического арсенала, посему очевидно, что по сравнению с предыдущими решениями процесс должен быть заметно более эффективным (вот любопытно, а можно ли как-то замерить степень этой "более эффективности"?)
×
×
  • Создать...