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

Не 004- и другие - архив.


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

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

Ну, вот нам наконец-то потребовалась четвёрка "004". Вернее, там требуется пара "не-004 и не-010", и все такие варианты можно получить из "не-010". Однако, что-то мне подсказывает, что просто "не-004" нам ещё пригодится.

 

Итак, требуется найти все "трёхзнаки", из которых не получается "004". Ну, например, из "000" как-то вообще не видится никаких арифметических преобразований, которые в результате дают четвёрку. Сколько всего таких - и хочется весь список. Но опять перебирать 1000 возможных вариантов как-то лениво.. Хочется оптимизации. И она есть! - предложена в ветке "Обсуждение" уважаемыми  Xandr_5890 и santax - методы "двузнаков" и оптимизации цифр. А именно. Если присмотреться к этому "не-004" ->

 

1. Оптимизация цифр.

 

Если мы без конкатенации ("склеивания") цифр (типа "V(16)=4" или подобного) решили вариант "1bc", то очевидно подходит и "0bc", который через факториал "0! bc" сводится к уже решённому "1bc". Ещё раз обращаю внимание, только в случаях "отдельно стоящей единицы", без конкатенации цифр.

 

Аналогично "2bc", решённое без конкатенаций, даёт и решение для "4bc" через "V(4) bc".

 

Аналогично, если без конкатенации решено "6bc" => решается и "3! bc" => решается "V(9)! bc".

 

То есть, сначала решаем "1bc не равно 4" - а потом из оставшегося решаем "0bc не равно 4". Затем решаем "2bc", из оставшегося ищем что там в "4bc". Дальше смотрим "6bc" => "3bc" => "9bc".

 

Но перебирать всю сотню вариантов на каждый первый "а" из "abc" тоже не хочется. А для оптимизации этого процесса есть ->

 

2. Метод двузнаков.

 

У нас есть "abc". Давайте посмотрим по каждому "a" что нам наколдуется с "bc", чтобы получить искомую четвёрку? То есть, давайте сразу отфильтруем то, что заведомо решается. Вот таким образом. У нас есть а=0,1,2,...,9. Переберём их по порядку, но с учётом "оптимизации цифр" =>

 

1+"03" = 1*"04" = -1+"05" = 4        not "03,04,05"

 

То есть, при решении "1bc" все двузнаки, которые складываются в 03,04,05 - их надо сразу выкинуть, поскольку заведомо решаемая комбинация. Затем решаем "0" ->

 

0 = из того, что осталось от единицы.

 

Далее двойка =>

 

2+"02" = -2+"06" = 4             not "02,06"

 

Тройку пропускаем, поскольку ждём результатов решения "6". То есть, следующий ход - четвёрка.

 

V(4)+"02" = -V(4)+"06" = 4   not "02,06"  - аналогично "двойке".

 

4 = из того, что осталось от двойки (без конкатенаций), но альтернативно:

4*"01" = -4+"08" = 4            not "01,08"

 

Далее пятая позиция:

 

5-"01" = -5+"09" = 4            not "01,09"

 

Шестёрка:

 

6-"02" = -6+"10" = 4            not "02,10"

 

Тут же сразу "3" и "9":

 

3 = из того, что осталось от шестёрки.

9 = из того, что осталось от тройки.

 

Далее "7" и "8":

 

7-"03" = V(7+"09") = 4            not "03,09" // "09" не потребуется, она перекрывается тройкой.
8-"04" = V(8+"08") = 4            not "04,08"

 

Вот такая логика получается у данного процесса. Интересно, насколько эффективно фильтруется изначальный материал? Сколько из 1000 изначальных вариантов останется для "ручной обработки"?

 

Ну, поехали. Последовательность действий такая:

 

1 => 0, 2 =>4, 5, 6 => 3 => 9, 7, 8  == готово.

 

А также нам потребуются заранее заготовленные двузнаки:

 

not "03,04,05" - новый, надо подсчитать... да они тут все новые.

not "02,06"

not "01,09"
not "02,10"

not "03" 
not "04,08"

 

Все эти комбинации новые, чуть позже займусь.

  • Согласен 1
Опубликовано

Итого, даже не поленюсь ссылки расставить ->

 

0 - ждёт решений от '1'.

1not "03,04,05" (готово, 22 варианта).

2not "02,06" (8 вариантов).

3 = ждёт 6-ку

4 = ждёт 2-ку

5not "01,09" (18 штук).

6not "02,10" (27 штук).

7not "03" (55 вариантов).

8 = not "04,08" (45 вариантов).

9 = ждёт 3-ку.

 

В целом, вполне решабельная арифметическая задачка. Я даже заготовку прицеплю. Вот она ->

 

aaa-not-004-1.xods

 

Берите - и пробуйте! :)

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

117: V(-1 + 17)

135: -1^3 + 5 

153: -1^5 + 3 

165: -(1^6) + 5 

168: -V(16) + 8 

170: V(17 - 0!)

171: V(17 - 1)

175: -1^7 + 5

178: V(1 + 7 + 8 )

187: V(1 + 8 + 7)

 

225: -2/2 + 5

256: V(2 × 5 + 6)

277: V(2 + 7 + 7)

278: V((2^7)/8)

 

526: (5 × 2) - 6

538: V(5 + 3 + 8 )

558: V(5!/5 - 8 )

564: -(5 - 6) × 4

583: V(5 + 8 + 3)

 

627: -(6/2) + 7

636: -(6/3) + 6

665: -6/6 + 5

674: -(6 - 7) × 4

696: 6/9 × 6

 

715: -(7)V(1) + 5

722: V(7 × 2 + 2)

724: V(7 × 2 + V(4) )

729: -(7 - 2 - 9)

738: -(7 - 3 - 8 )

743: VV(7^4) - 3

749: VV(7^4) - V(9)

756: -(7 - 5 - 6)

765: -(7 - 6 - 5)

773: 7/7 + 3

775: -7/7 + 5

783: -(7 - 8 - 3)

784: -(7 -  8 )  × 4

789: -(7 - 8 - V(9) )

 

800: V(8 + 0!) + 0!

801: V(8 + 0!) + 1

802: (8 + 0)/2

810: 8/(1 + 0!)

811: 8/(1 + 1)

812: 8 × 1/2

820: 8/2 + 0

821: 8/2 × 1

825: VV(8 × 2^5)

833: 8 × 3/3!

836: 8 × 3/6

838: V(8 × 3 - 8 )

839: -(8 - 3) + 9

852: VVV(8^5 × 2)

854: (8 - 5)! - V(4)

857: -(8 - 5 - 7)

863: 8/(6/3)

866: -(8 - 6 - 6)

868: -8/(6 - 8 )

869: 8^(6/9)

872: (8!/7!)/2

874: (8 - 7) × 4

875: -(8 - 7 - 5)

883: 8/8 + 3

885: -8/8 + 5

886: 8/(8 - 6)

889: 8/8 + V(9)

893: -(8 - 9 - 3)

896: 8 × V(9)/6

897: 8/(9 - 7)

898: 8 × V(9) - 8

899: -8 + V(9) + 9

 

 

 

 

 

Изменено пользователем Xandr_5890
Опубликовано
1 час назад, Xandr_5890 сказал:

117: V(-1 + 17)

 

11-7 :)

 

1 час назад, Xandr_5890 сказал:

278: V((2^7)/8)

 

О! Спасибо. Я не догадался.

Алаверды: 287 => V(2*8!/7!)

 

1 час назад, Xandr_5890 сказал:

558: V(5!/5 - 8 )

 

Аналогично - спасибо! И ответ:

546 => 5*V(4)-6

  • Согласен 1
Опубликовано

Но есть ещё "нули", "тройки" и "девятки" - вычеркнуто, поскольку есть решение для всех "троек". Результат вот здесь:

aaa-not-004.xods

 

Не удалось найти решения для 101 комбинации:

 

000    100    255    525    606    700    806
001    101    267    528    607    701    827
007    107    276    548    608    706    845
010    110           552    617    707    847
011    111           557    618    710    856
057    157           562    656    716    858
066    167           568    658    717    860
067    176           575    660    726    861
068    177           585    661    728    865
070    186           586    666    737    867
071                         667    746    876
076                         670    748    877
077                         671    750
086                         672    751
                            676    755
                            677    757
                            678    760
                            680    761
                            681    766
                            685    767
                            687    768
                                   770
                                   771
                                   776
                                   777
                                   778
                                   782
                                   786
                                   787
                                   788
                                   797

 

Из позитивного. Вместо 1000 комбинаций "вручную" пришлось перебрать всего 15 (нули) + 22 (единицы) + 8 + 20 + 21 + 4 + 18 + 27 + 55 (семёрки - самая неприятная история) + 46 = 190 вариантов. Фильтрация 81% - весьма неплохо!

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

Не "004-010" = 76 вариантов.

aaa-not-004-010.xods

 

000    607    700    806
001    608    701    827
007    617    706    847
057    618    710    856
066    656    716    858
067    658    726    860
068    660    728    861
070    661    737    867
071    666    746    876
076    667    748    877
077    670    750
086    671    751
107    672    757
157    676    760
167    677    761
176    678    766
186    680    767
267    681    768
276    687    770

              771
              776
              777
              778
              782
              786
              787
              788
              797

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

Не "004-005" = 31 вариант.

aaa-not-004-005.xods

 

000    110    755    787
001    111    760    845
010    177    761    856
011    658    767    860
067    672    770    861
077    685    771    865
100    707    777    877
101    717    778   

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

О! Точно... Спасибо, исправляю "не-004-xxx" - ещё пригодятся.

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

Не 004-007. = 15 вариантов.

aaa-not-004-007.xods

 

000    101    858
001    110    267
010    111    276
011    827    525
100    847    585

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

Не 004-008-010. = 25 24 вариантов.

 

000

186

660

728

827

001

 

661

737

847

066

267

666

746

858

086

 

670

782

 
   

671

786

 
   

672

797

 
   

676

   
   

680

   
   

681

   
   

687

   

 

E.K. -> 797  7-V(9)!+7 = 8 

 

aaa-not-004-008-010.xods

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

"Не-004--02-10" = 59 штук.

aaa-not-004--02-10.xods

007    606    671    706    806
066    607    672    707    827
067    608    676    717    847
070    617    677    760    856
071    618    678    761    858
076    656    680    766    860
077    658    681    767    861
          660    685    770    865
107    661    687    771    867
167    666              776    876
176    667              777    877
177    670              778        
                              787        
267
276

 

585

 

"Не-004--02-08-10" = 41 штука.

aaa-not-004--02-08-10.xods

066    606    706    806
067    656    760    827
076    658    761    847
077    660    766    856
          661    767    858
167    666    776    860
176    667    777    861
177    672    778    865
          676             867
267    677             876
276    678             877
          685
585

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

Для 4 и 2 нашел ещё такие комбинации:
4 =-7+V(5!+0!)
4 =-7+V(5!+1)

4 =-8+V(6!/5)

Изменено пользователем santax
  • E.K. изменил название на Не 004- и другие - архив.

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

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



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

    • 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" - а такая вообще только одна осталась.
       
      Само собой, при решении данной задачи будет применяться вся мощь наработанного арифметического арсенала, посему очевидно, что по сравнению с предыдущими решениями процесс должен быть заметно более эффективным (вот любопытно, а можно ли как-то замерить степень этой "более эффективности"?)
×
×
  • Создать...