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

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

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

Посмотрел 881 и "слепить" их вместе не получается, поскольку там есть очень "вкусные" конкатенации ->

 

8812    88+12 = 100, (V( 8*8 )+12)* "05" = 100                      not "01,02,05,10"    = 1
8813    V( 8+8 )+1*3! = 10, 88+13 = 101, 8+81+3! = 95        not "01,02,05,10"    = 1

 

Они дают '1', что резко уменьшает количество переборов, но с '0' это не работает.. Посему, 880 отдельно, а 881 тоже отдельно.

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

880

880xxx.xods

 

image.png

 

В целом, скучноватая комбинация. Обычно "88+12". В конце даже порезвиться захотелось...

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

В конце даже порезвиться захотелось...

880788 ---> (8 + 8 ) × (-0 + 7) + V(8 + 8 )

880656 ---> VV(8^8) + 6 × 5 + 6

880778 ---> VVV( ( 8/(807 - 7 ))^( -8 ) ) 

  • Улыбнуло 1
Опубликовано

Вот, резвитесь: 881

 

881    (V(8+8))! + 1 = 25    =>     not "004" = 102 для перебора.

 

или же подробнее, по запчастям разберём:

 

8810    V( 8*8 )+1+0! = 10                                                                       not "02,10"        = 27
8811    V( 8*8 )+1+1 = 10, 88+11 = 99                                                   not "01,02,10"    = 6 // склеить с '0' не получится, конкатенация...
8812    88+12 = 100, (V( 8*8 )+12)* "05" = 100                                      not "01,02,05,10" = 1 // тоже самое, решать отдельно.
8813    V( 8+8 )+1*3! = 10, 88+13 = 101, 8+81+3! = 95                        not "01,02,05,10" = 1 // тоже самое, в '9' нельзя. 
8814    V( 8+8 )*(1+4!) = V( 8+8 )*(1+4)* "05" = 100, -8+81+4! = 97    not "01,02,03,10" = пусто!
8815    V( 8+8 )+1+5 = 10, 88+15 = 103, V( 8+8 )*1*5* "05" = 100       not "02,03,05,10"    = 12
8816    8+8-1*6 = 10, 8+81+6 = 95, 88+V(16)* "03" = 100                    not "02,03,05,10"    = 12
8817    8+8+1-7 = 10, 88+17 = 105                                                        not "02,05,10"         =21  // почти как "02,05", отсев минимален.
8818    -V( 8*8 )+18 = 10, 88+18 = 106                                                   not "02,06,10"        = 6
8819    8+8-1*V(9)! = 10, 88+19 = 107, 88+1+V(9)! = 95                       not "02,05,07,10"    = 9

 

= 27+6+1+1+12+12+21+6+9 = 95 штук... Немного оптимальней :)

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

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



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

    • E.K.
      Автор E.K.
      Тройка подсчитана не самым оптимальным способом, я только учился
      (учение описано вон там)
       
      0!+"02" = 0+"03" = 3                        not "02,03"
      1+"02" = -1+"04" = 3                        // "0" == "1"
      2+"01" = -2+"05" = V(2+"07") = 3    not "01,05,07"
       
      3!-"03" = V(3 * V("09")) = 3               not "03,09" = аналогично '6' 
      альтернативно:  3*"01" = -3+"06" = 3   not "01,06"    // 03 <= 06

      4-"01" = -4+"07" = -V(4)+"05" = 3    not "01,05,07"
      5-"02" = -5+"08" = 3                          not "02,08"
      6-"03" = -6+"09" = 3                          not "03,09"
      7-"04" = -7+"10" = 3                          not "04,10"
      8-"05" = -8+"11" = V(8+"01") = 3      not "01,05,11"
      9-"06" = -9+"12" = V(9)*"01" = 3       not "01,06,12" //  V(9)=3  <= 03
       
      Результат вот такой:
      aaa-not-003.xods
       
      Всего 84 варианта, 
       
      006    106    226    426    506    606    706    826
      056    166    262    446    525    607    707    828
      060    176    268    462    545    617    717    846
      061    177    282    468    555    655    727    848
      065           284    475    556    656    736    857
      066           286    486    560    660    747    862
      067                         561    661    758    864
      076                         565    665    760    868
      077                         566    666    761    875
                                  567    667    766    886
                                  572    670    767
                                  576    671    770
                                  578    676    771
                                  585    677    776
                                  596           777
                                                780
                                                781
                                                785
                                                787
                                                796
    • E.K.
      Автор E.K.
      Ну, вот нам наконец-то потребовалась четвёрка "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"
       
      Все эти комбинации новые, чуть позже займусь.
    • E.K.
      Автор E.K.
      Берём "не-003" и что там не получается сделать "006" =>
      aaa-not-006.xods
       
      А всего-то два "трёхзнака" ->
       
      727    747
       
      Какая хорошая цифра "шестёрка!"
    • E.K.
      Автор E.K.
      Не "02-08-10" и не "11-12-13-14-15" = 3 штуки.
      aa-not-02-08-10--11-12-13-14-15.xods
       
      06  60  61
    • E.K.
      Автор E.K.
      Не-двойки и не-"прочие". Хранилище решений.
       
      Не-002-005 = 7 вариантов.
      aaa-not-002-005.xods
      707   787
      717   856
      767   877
      778
       
      Не-002-005-006 = 0 вариантов!
      aaa-not-002-005-006-empty.xods
       
      Не-002-005-010 = 5 штук.
      aaa-not-002-005-010.xods
      767   856
      778   877
      787
       
      aaa-not-002-006-empty.xods - 0 вариантов!  // зеро!!
       
      aaa-not-002-007.xods    - тоже 0 вариантов.
       
       aaa-not-002-008.xods   - 8 вариантов
      575    676
      586    726
      606    757
      656    786
       
×
×
  • Создать...