Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Программирование Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 Вторничный Квайн  [new]
mayton
Member

Откуда: loopback
Сообщений: 53482
Привет коты!

В продолжение Найдите д.н.ф. и к.н.ф. для :

Необходимо реализовать следующее.

Input (ДНФ)
!x!y!z + !xy!z + x!y!z + x!yz + xy!z

(в задании предполагается что "+" - это логическое OR, а восклицательный знак - это инверсия)

Outpus (минимальная форма):
x!y + z


Можно брать метод Квайна или Квайна-Макласски.

Primary Goal:
Реализация на любом языке. Главное чтоб были сорцы и было понятно.

Secondary Goal #1:
Потестировать скорость на большом числе аргументов (16 - 32).

Secondary Goal #2:
Попробовать эвристики о которых говорил exp98. Цитирую его
Случайный метод: от простого к сложному отжигом, роевым, генетическим ... пока
таблица не станет хэммингово близкой к нужной. Затем доработать напильником, мож
что и получится. Эффективность этого способа мне не известна.


+
Тестовые данные
Здась https://www.sql.ru/forum/1134172/tyapnichnyy-koi-8r можно взять больше тестовых данных.
Например таблицу koi8-unicode16.

Если ковертить обратно от unicode-русских букв то получается 14 аргументов в каждом минитерме.
15 дек 21, 01:20    [22409706]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
Имя пользователя1
Member

Откуда:
Сообщений: 781
результат должен быть в виде ДНФ? и почему вторничный, если уже среда?
15 дек 21, 16:19    [22409989]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
mayton
Member

Откуда: loopback
Сообщений: 53482
Начал писать пост во вторник.

Да. Результат в СДНФ.

Сообщение было отредактировано: 15 дек 21, 17:54
15 дек 21, 17:53    [22410058]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
exp98
Member

Откуда:
Сообщений: 3303
Не упоминайте мене в суе.
Возможно, сейчас напишу крамолу. Эта формула мне представляется из класса P.

Автоматика и телемеханика, 1995, выпуск 2, с. 111–124
"Новые классы КНФ, с полиномиально распознаваемым свойством выполнимости"
Б.А.Кулик
+
Аннотация
На основе методов алгебры кортежей [1] разработан алгоритм решения задачи
ВЫПОЛНИМОСТЬ КНФ. Доказано, что для класса "плотных" КНФ,
у которых "пустые" переменные, не включенные в дизъюнкты, распределены
равномерно с вероятностью не более 1/3, сложность этого алгоритма в среднем
полиномиальна. Рассмотрены варианты выигрышной стратегии этого алгоритма,
позволяющие расширить класс КНФ с полиномиально распознаваемым
свойством выполнимости
15 дек 21, 23:09    [22410212]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
mayton
Member

Откуда: loopback
Сообщений: 53482
Буду упоминать. Это usecase нашего форума.
Так что, не обижайся.
16 дек 21, 10:09    [22410316]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
exp98
Member

Откуда:
Сообщений: 3303
Ну и зря. Какхозяин своего слова могу его и обратно взять. Но всё же, пока на бумажке, набросал даже ещё не эскиз прототипа алгоритма, скорее некий пробник, посмотреть, имеет ли смысл дёргаться. Скоро не обещаю, нууу м.б. в выхи.

Идея простая, наращивать формулу с нуля - какая получится.
Для применения с не очень длинными формулами. Без эвристик.
Набросок схемы примерно такой.
For ...........
Наращивать "как бы конкатенацией" с нуля формулу в зависимости от 3-х случайных зачений:
z1 - номер очередной переменной (х1, х2 или х3)
z2 - сотрицанием или без
z3 - с какой связкой присоединяется к предудущей формуле "&" / "V"
Вычислить текущий вектор истиностных значений и сравнить с входным.
Откат текущей итерации, если близость уменьшилась.
Условие прекращении цикла
End For

Примерно так.

Сообщение было отредактировано: 16 дек 21, 15:33
16 дек 21, 15:30    [22410523]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
mayton
Member

Откуда: loopback
Сообщений: 53482
Если считать близость как расстояние хемминга, то может быть один или группа битиков перепрыгивает
или меняют своё место формально улучшая будущий расклад, но наша формула не видит улучшений.

Тоесть метрика Хемминга наверное не очень чувствительна к улучшениям. Может брать какой-то другой критерий?
16 дек 21, 15:53    [22410537]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
mayton
Member

Откуда: loopback
Сообщений: 53482
exp98

Идея простая, наращивать формулу с нуля - какая получится.
Для применения с не очень длинными формулами. Без эвристик.
Набросок схемы примерно такой.
For ...........
Наращивать "как бы конкатенацией" с нуля формулу в зависимости от 3-х случайных зачений:

Тут даже самый первый ход не понятен. Вот формула !x!y!z + !xy!z + x!y!z + x!yz + xy!z

Как наращивать? Можно хотя-бы "прошагать" с тобой первые 2 итерации цикла?
16 дек 21, 16:37    [22410572]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
exp98
Member

Откуда:
Сообщений: 3303
Во-первых, это всего лишь эксперимент, не известно к чему приведущий. Поэтому рекомендаций не даю.
Во-вторых, исходная формула нужна только, чтоб вычислить вектор её значений.

Наращивать от нуля, вот же написано, три (пока 3) случайные величины:
автор
z1 - номер очередной переменной (х1, х2 или х3)
z2 - с отрицанием или без
z3 - "&" или "V"
Сначала буду держать такой последовательный массив для отладки. А вообще, в символьном виде наращивание может выглядеть так (здесь пробел вместо умнож).
 1* !x1 + x3 !x1 x1 !x1 x2 x1 x2 x2 + !x2 +!x2 x3 !x3 ....
И пофиг, что есть начальная формула. Благодаря случайности все буквы боле мене равномерно появляются.

Проблем много. Метрика, собссно новая длина, критерий остановки. И конечно же как допилить.
Проблему новой длины я сначала прозевал, да.

Если в обратную сторону, т.е. от начальной формулы к более короткой, конкретных мыслей нет.
16 дек 21, 18:48    [22410643]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
Wlr-l
Member

Откуда:
Сообщений: 667
"Автоматизацией Квайна" занимались с шестидесятых годов до 80-х прошлого века. Потом это стало не актуально. Сегодня можно найти тексты программ "Квайна" практически на любом языке программирования.

В предыдущем обсуждении булевых функций, ссылка на которое дано в первом сообщении, был задан вопрос о критериях минимизации. Без ответа на этот вопрос минимизация теряет смысл.

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

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

Сегодня большинство логических схем реализуются на ПЛМ (программируемых логических матрицах). Здесь булева функция должна быть представлена в ДНФ и критерием оптимизации является площадь ПЛМ, занимаемая этой функцией. Чем меньше, тем лучше, но не забыть бы при этом о гонках. Да, еще есть ситуации, когда для реализации всех необходимых логических функций одной ПЛМ не хватает, тогда к минимизации может добавиться понятие "декомпозиция булевых функций".

Кстати говоря, рассматривать логические функции, зависящие более чем от 7 переменных, скорее всего, не имеет смысла, так они находятся за гранью человеческого восприятия.

Поскольку от минимизации ДНФ не уйти, а карты Карно хороши для функций, зависящих не более чем от 4-х переменных, в следующем сообщении еще раз рассмотрим алгоритм Квайна. Постараемся обойтись только самыми простыми законами алгебры логики, чтобы потом не дорабатывать результат драчёвым напильником. Тем более, что ТС уже пятилетку говорит об этом алгоритме, но все еще не добрался до его реализации. В Союзе пятилетку обычно выполняли за три года.
16 дек 21, 18:48    [22410645]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
Wlr-l
Member

Откуда:
Сообщений: 667
До программной реализации алгоритма Квайна еще очень далеко, сначала нужно понять, в чем же он состоит. Я уже рассмотрел его в сообщении 22406820. Сейчас подробнее рассмотрим применение этого алгоритма к предложенной ТС функции !x!y!z + !xy!z + x!y!z + x!yz + xy!z.

Каждое "слагаемое" в СДНФ называется конституентой единицы (в СКНФ каждое "произведение" называется конституентой нуля), если контекст понятен, то просто говорят конституента. Конституенту можно представить набором нулей и единиц. Если некоторая переменная входит в конституенту с отрицанием, то вместо нее в наборе пишем 0, в противном случае – 1. Например конституента !x!y!z записывается как набор 000, а конституента !xy!z – 010. Операция склеивания этих двух конституент:
0 0 0   -->   0 * 1
0 1 0
Видно, что вертикальное расположение наборов делает более наглядной операцию склейки конституент.
Представим исходную функцию (СДНФ) в виде набора конституент (столбик 1). Наборы пронумеруем. Проведем все склейки (в скобках через черточку указаны номера наборов, из которых получена импликанта, а сами эти наборы отметим плюсиком):
   Столбик 1  Столбик 2
1 0 0 0 + 0 * 0 (1-2)
2 0 1 0 + * 0 0 (1-3)
3 1 0 0 + 0 * 0 (2-1)
4 1 0 1 + * 1 0 (2-5)
5 1 1 0 + * 0 0 (3-1)
1 0 * (3-4)
1 * 0 (3-5)
1 0 * (4-3)
* 1 0 (5-2)
1 * 0 (5-3)
Видно, что после склейки число импликант может быть больше числа конституент. Помня, что a \/ a = a можно исключить ситуации, когда конституента с большим номером склеивается с конституентой с меньшим номером. Поскольку все конституенты склеились, ничего из таблицы 1 мы запоминать не будем, просто перепишем второй столбик в первый и снова проведем склейки (в этом процессе всегда * равна * и никогда не равна 0 или 1):
1  0 * 0 (1-2) +    * * 0 (1-5)
2 * 0 0 (1-3) + * * 0 (2-3)
3 * 1 0 (2-5) +
4 1 0 * (3-4)
5 1 * 0 (3-5) +
После всех склеек в первом столбике осталась неотмеченной импликанта 10*, поэтому она будет простой и ее нужно запомнить. Во втором столбике фактически осталась одна простая импликанта **0 и ее так же нужно запомнить.
Поскольку больше склеивать нечего, то процесс нахождения простых импликант закончен.

3. На этом этапе находится покрытие исходной функции найденными простыми импликантами. Очевидно, что две найденные простые импликанты покрывают исходную булеву функцию.

Осталось записать ответ F(x, y, z) = x¬y \/ ¬z
или в нотации ТС: F(x, y, z) = x!y + !z.

Перебор можно уменьшить, если помнить, что могут склеиваться только конституенты, отличающиеся только в одном "разряде". Поэтому конституенту 1 из исходного набора нет смысла сравнивать с конституентами 4 и 5.

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

Сообщение было отредактировано: 16 дек 21, 18:53
16 дек 21, 18:52    [22410649]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
Wlr-l
Member

Откуда:
Сообщений: 667
Что касается выбора структуры данных, то это массив.

Каждый набор может быть представлен массивом, в котором каждый элемент может принимать значения 0, 1, *. Тогда массив наборов будет представлять СДНФ логической функции. Достоинства такого представления логической функции в простоте операций склеивания, а недостатком излишнее потребление памяти.

Попробуем взять в качестве одного набора одно целое число и манипулировать битами этого числа. Для представления одной переменной потребуется два бита:
1 0 - биты числа
0 0 - представляют не х1
0 1 - представляют х1
1 * - представляют склейку по переменной х1, в этом контексте знак * обозначает, что значение бита может быть любым и не имеет значения.

Для отметки будем использовать знак числа. Число отрицательное говорит о том, что этот набор был склеен с другим набором.

Для 32-битного числа можно задать до 15 булевых переменных. Функции будет представлять массив целых чисел.

Пример склейки ¬x¬y \/ ¬xy = ¬x. Биты 3 и 2 будут представлять переменную x, а биты 1 и 0 – переменную y.

   Массив 1           Массив 2

3 2 1 0 3 2 1 0 - биты числа
1 0 0 0 0 ¬x¬y 0 0 1 * ¬x
2 0 0 0 1 ¬xy

Алгоритм:

1. Записываем СДНФ в первый массив, а второй очищаем.
2. Каждый элемент первого массива сравниваем со всеми другими элементами этого массива, кроме себя с собой, на возможность их склейки. Возможности сокращения перебора я привел в предыдущем сообщении.
Если элементы удовлетворяют условиям сравнения (склеиваются), то отмечаем их изменением знака числа и формируем из них одно число (склейку), которое записываем во второй массив.
3. Запоминаем неотмеченные элементы первого массива и после этого заменяем значение первого массива значением второго массива. Второй массив очищаем.
4. Повторяем пункты 2 и 3 пока есть склеиваемые элементы.
5. Запомненные неотмеченные элементы и будут простыми импликантами.

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

Осталось описать функцию сравнения наборов на предмет склейки и можно будет переходить к программированию на выбранном языке. Но у меня сегодня уже иссякли силы для продолжения.
16 дек 21, 18:58    [22410652]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
exp98
Member

Откуда:
Сообщений: 3303
Wlr-l
...В Союзе пятилетку обычно выполняли за три года.
А в конце пятилетки был съезд (цэ)

Wlr, такие простыни надо бы прятать в спойлеры.

Сообщение было отредактировано: 16 дек 21, 19:03
16 дек 21, 18:58    [22410653]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
exp98
Member

Откуда:
Сообщений: 3303
А ещё я забыл сказать, что если много переменных, то по моей методе на каждой итерации растущей формулы, надо вычислять новый вектор значений для всех 2^p комбинаций из p переменных.
Т.о., если длина формулы сравнима с 2^p, то алгоритм заведомо экспоненциальный. Что не очень устраивает.
16 дек 21, 20:23    [22410696]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
mayton
Member

Откуда: loopback
Сообщений: 53482
Wlr-l

В предыдущем обсуждении булевых функций, ссылка на которое дано в первом сообщении, был задан вопрос о критериях минимизации. Без ответа на этот вопрос минимизация теряет смысл.

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

Это - форум программистов. Поэтому будем искать наименьшее количество переменных.
16 дек 21, 20:53    [22410711]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
mayton
Member

Откуда: loopback
Сообщений: 53482
Wlr-l

Поскольку от минимизации ДНФ не уйти, а карты Карно хороши для функций, зависящих не более чем от 4-х переменных, в следующем сообщении еще раз рассмотрим алгоритм Квайна. Постараемся обойтись только самыми простыми законами алгебры логики, чтобы потом не дорабатывать результат драчёвым напильником. Тем более, что ТС уже пятилетку говорит об этом алгоритме, но все еще не добрался до его реализации. В Союзе пятилетку обычно выполняли за три года.

1) К чорту Карно.

2) Да ТС - большой бездельник. Я тут делаю +100. Но как говорил красавчик,
начальник милиции всего Махачкалы - "и тем не менее..."
16 дек 21, 20:59    [22410714]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
mayton
Member

Откуда: loopback
Сообщений: 53482
Wlr-l

Кстати говоря, рассматривать логические функции, зависящие более чем от 7 переменных, скорее всего, не имеет смысла, так они находятся за гранью человеческого восприятия.

В топике нас не будет интересовать человеческое восприятие.
16 дек 21, 21:05    [22410717]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
mayton
Member

Откуда: loopback
Сообщений: 53482
Wlr-l
Что касается выбора структуры данных, то это массив

В своей реализации я хотел уйти от битов. И просто перейти к использованию списков символов.
Или к деревьям. Но .. лучше начать со списков.

Wlr-l
Попробуем взять в качестве одного набора одно целое число и манипулировать битами этого числа. Для представления одной переменной потребуется два бита:
1 0 - биты числа
0 0 - представляют не х1
0 1 - представляют х1
1 * - представляют склейку по переменной х1, в этом контексте знак * обозначает, что значение бита может быть любым и не имеет значения.


Игры с кубитами или с иммитацией символа asterisk "*" кажутся мне не очень актуальными применительно
к решению задачи которая в пределе двигается к экспоненциальной.

Памяти у нас сегодня достаточно чтоб не обращать внимание на биты.
16 дек 21, 22:46    [22410747]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
exp98
Member

Откуда:
Сообщений: 3303
Остальные молчат)), так хоть я немножко добавлю.

Сляпал черновичок проги по алгоритму случайного подбора, что выше. Только без откатов и без условия окончания, чтобы только посмотреть варианты. Ограничился 15 итерациями в каждом запуске (соответственно 15 переменных с повторениями).
Запускал прогу несколько раз, пока не встретил в конце distance=2. На этом и закончил.

Скажу точнее.
Массив значений distance(k) , где k - итерация, заканчивался числами ... 2 3 3. Значит на 14-й итерации надобыло делать откат. Вот что получилось.

Исходные данные. Получить ф-цию ДНФ:
x1	x2	x3	ДНФ
0	0	0	1
0	0	1	0
0	1	0	1
0	1	1	0
1	0	0	1
1	0	1	1
1	1	0	1
1	1	1	0

Результат случайного наращивания
(всего 15 итераций, 14-15-ые откат, осталось 13 переменных, distance=2)
x3 + ~x1 ~x2 + x3 + ~x2 ~x2 ~x3 ~x1 + x1 ~x3 + ~x3 + x1 + ~x2 [+x3 + ~x3]

После ручной оптимизации
(~Y + X ~Z ) = ( 1, 1, 0, 0, 1, 1, 1, 0 ), distance=2

Далее по задумке в ход идёт напильник. Тут разные лёгкие пути, но ф-ла сократилась и видно по таблице глазами, что последние 4 набора значений совпали с тебуемым. Осталось допилить для первых 4х наборов. И видно, что тут достаточно инвертировать 2-3й наборы, причём получить в 1-4м наборах зависимость ~x3.
Самая уж короткая таким путём может и не получится, но в этом частном случае есть надежда, что всё же итог будет короче.

Обобщать сказанное на все функции слишком рано.

P.S. Пишу тильду (~) вместо "!", чтобы было лучше видно.

Сообщение было отредактировано: 17 дек 21, 20:58
17 дек 21, 20:53    [22411314]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
exp98
Member

Откуда:
Сообщений: 3303
Кстати допилить можно и так. Для примера.
Формулу (~Y + X ~Z )
1) ...*Х домножить
2) ... + ~(X ~Z)= ... + ~X +Z = прибавить отрицание 2-го слагаемого == аннулирование
3) ... + Z
Если не ошибся, получим искомый рез-т (X ~Y + Z).
17 дек 21, 21:11    [22411318]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
exp98
Member

Откуда:
Сообщений: 3303
Боюсь спросить.
Почему, когда говорят, сколько штук различных дизъюнктов(слагаемых) всего может быть в ДНФ, называют 2^3^N ?
В Яблонском, Мендельсоне ...
Мне кажется, что немножко меньше.

Сообщение было отредактировано: 29 дек 21, 19:57
29 дек 21, 19:56    [22416047]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
exp98
Member

Откуда:
Сообщений: 3303
Так случилось, что сам и разобрался. Просто внимательно прочитал очевидное место в Яблонском. Из-за сомнений я разрывался между 2-мя подходами к ответу.
Теперь однозначно речь идёт об ощем числе различных наборов конъюнкций (да и дизъюнкций тоже), а пустой набор явно обзывается как "1". Число отображений {x1 x2 ...} --> {xk ~xk пусто} = 3^n ровно. Соответственно всего логических ф-ций как и было указано.
30 дек 21, 16:27    [22416301]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
exp98
Member

Откуда:
Сообщений: 3303
Насчёт своих экмпериментов со случайными формулами. Вывод про концепцию негативный.
Много их не проводил. Первичные допустимые формулы не использовал. Рассмотрел только 2 исходных ф-ции.
Для 3-х переменных оказалось мало интересным.
Для 4-х переменных взял исходный вектор с 3-мя нулями (из 16 возможных). И результаты случайных подстановок не порадовали.

Ну да, различие в 3-х координатах находилось быстро, в пределах 5-15 итераций. Но что такое были эти 3 различия? Это полностью "1"-ый вектор! Хоть стой, хоть падай. В рез-те "допиливание" ни чем не лучше начала от типовой СДНФ.

Для 4-х переменных получались векторы <> "1" с 3-мя отличиями, но хорошо, когда "допилить" надо 0 до 1, а когда 1 до 0, то уже не лучше стандартной КНФ.
2 отличия находились при >100, или даже >400 итераций, а дальнейшая работа та же самая, что и выше.
Во всяком случае если эти "3 или 2 отличия" << 2^n.
Соображения с корреляциями могут помогать, но не превращаются в формальную методику.

Короче говоря, не получилось простым навалом надёжно наворотить хороший случайный вектор.
Если без откатов, то доходишь до тупика. Если делать откат, то необходим полноценный поиск с возвратом.
Но не смог придумать эвристики (наподобие правильных перестановок или даже шахмат), чтобы удачно перепрыгивать с ветки на ветку без полного перебора. Но я знаю одного мастера по эвристикам.

И как проблематичный вопрос. Тот же Яблонский пишет, что доля минимальных ДНФ среди тупиковых -->0. И это "...заставляет думать, что статистические соображения вряд ли что дают для алгоритма упрощения [ДНФ/КНФ]".
Думать-то оно заставляет, только ведь и в задаче нахождения максимума отжигом случайность неплохо приближается к ответу.
30 дек 21, 17:05    [22416323]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
mayton
Member

Откуда: loopback
Сообщений: 53482
Я решил восстановить тестовые данные в более каноничном виде.
Рудиментарные предикторы и отклики x8, y16-y15 я вернул
обратно. Так будет правильно.

Чуть позже я попробую сконвертить их в каноническое уравнение ДНФ.
Берите в качестве тестовых данных. Если слишком мало - я придумаю
другую функцию конвертер. Пока будет koi8-to-UTF-16.


koi8-rutf-16charx8..x1y16..y1
802500100000000010010100000000
812502100000010010010100000010
82250C100000100010010100001100
832510100000110010010100010000
842514100001000010010100010100
852518100001010010010100011000
86251C100001100010010100011100
872524100001110010010100100100
88252C100010000010010100101100
892534100010010010010100110100
8A253C100010100010010100111100
8B2580100010110010010110000000
8C2584100011000010010110000100
8D2588100011010010010110001000
8E258C100011100010010110001100
8F2590100011110010010110010000
902591100100000010010110010001
912592100100010010010110010010
922593100100100010010110010011
932320100100110010001100100000
9425A0100101000010010110100000
952219100101010010001000011001
96221A100101100010001000011010
972248100101110010001001001000
982264100110000010001001100100
992265100110010010001001100101
9A00A0 100110100000000010100000
9B2321100110110010001100100001
9C00B0°100111000000000010110000
9D00B2²100111010000000010110010
9E00B7·100111100000000010110111
9F00F7÷100111110000000011110111
A02550101000000010010101010000
A12551101000010010010101010001
A22552101000100010010101010010
A30451ё101000110000010001010001
A42553101001000010010101010011
A52554101001010010010101010100
A62555101001100010010101010101
A72556101001110010010101010110
A82557101010000010010101010111
A92558101010010010010101011000
AA2559101010100010010101011001
AB255A101010110010010101011010
AC255B101011000010010101011011
AD255C101011010010010101011100
AE255D101011100010010101011101
AF255E101011110010010101011110
B0255F101100000010010101011111
B12560101100010010010101100000
B22561101100100010010101100001
B30401Ё101100110000010000000001
B42562101101000010010101100010
B52563101101010010010101100011
B62564101101100010010101100100
B72565101101110010010101100101
B82566101110000010010101100110
B92567101110010010010101100111
BA2568101110100010010101101000
BB2569101110110010010101101001
BC256A101111000010010101101010
BD256B101111010010010101101011
BE256C101111100010010101101100
BF00A9©101111110000000010101001
C0044Eю110000000000010001001110
C10430а110000010000010000110000
C20431б110000100000010000110001
C30446ц110000110000010001000110
C40434д110001000000010000110100
C50435е110001010000010000110101
C60444ф110001100000010001000100
C70433г110001110000010000110011
C80445х110010000000010001000101
C90438и110010010000010000111000
CA0439й110010100000010000111001
CB043Aк110010110000010000111010
CC043Bл110011000000010000111011
CD043Cм110011010000010000111100
CE043Dн110011100000010000111101
CF043Eо110011110000010000111110
D0043Fп110100000000010000111111
D1044Fя110100010000010001001111
D20440р110100100000010001000000
D30441с110100110000010001000001
D40442т110101000000010001000010
D50443у110101010000010001000011
D60436ж110101100000010000110110
D70432в110101110000010000110010
D8044Cь110110000000010001001100
D9044Bы110110010000010001001011
DA0437з110110100000010000110111
DB0448ш110110110000010001001000
DC044Dэ110111000000010001001101
DD0449щ110111010000010001001001
DE0447ч110111100000010001000111
DF044Aъ110111110000010001001010
E0042EЮ111000000000010000101110
E10410А111000010000010000010000
E20411Б111000100000010000010001
E30426Ц111000110000010000100110
E40414Д111001000000010000010100
E50415Е111001010000010000010101
E60424Ф111001100000010000100100
E70413Г111001110000010000010011
E80425Х111010000000010000100101
E90418И111010010000010000011000
EA0419Й111010100000010000011001
EB041AК111010110000010000011010
EC041BЛ111011000000010000011011
ED041CМ111011010000010000011100
EE041DН111011100000010000011101
EF041EО111011110000010000011110
F0041FП111100000000010000011111
F1042FЯ111100010000010000101111
F20420Р111100100000010000100000
F30421С111100110000010000100001
F40422Т111101000000010000100010
F50423У111101010000010000100011
F60416Ж111101100000010000010110
F70412В111101110000010000010010
F8042CЬ111110000000010000101100
F9042BЫ111110010000010000101011
FA0417З111110100000010000010111
FB0428Ш111110110000010000101000
FC042DЭ111111000000010000101101
FD0429Щ111111010000010000101001
FE0427Ч111111100000010000100111
FF042AЪ111111110000010000101010
31 дек 21, 01:09    [22416409]     Ответить | Цитировать Сообщить модератору
 Re: Вторничный Квайн  [new]
mayton
Member

Откуда: loopback
Сообщений: 53482
Как то так получилось. Провертьте меня. Нигде-ли я не ошибся?

y16 = 0
y15 = 0
y14 = x8!x7!x6!x5!x4!x3!x2!x1 + x8!x7!x6!x5!x4!x3!x2x1 + x8!x7!x6!x5!x4!x3x2!x1 + x8!x7!x6!x5!x4!x3x2x1 + x8!x7!x6!x5!x4x3!x2!x1 + x8!x7!x6!x5!x4x3!x2x1 + x8!x7!x6!x5!x4x3x2!x1 + x8!x7!x6!x5!x4x3x2x1 + x8!x7!x6!x5x4!x3!x2!x1 + x8!x7!x6!x5x4!x3!x2x1 + x8!x7!x6!x5x4!x3x2!x1 + x8!x7!x6!x5x4!x3x2x1 + x8!x7!x6!x5x4x3!x2!x1 + x8!x7!x6!x5x4x3!x2x1 + x8!x7!x6!x5x4x3x2!x1 + x8!x7!x6!x5x4x3x2x1 + x8!x7!x6x5!x4!x3!x2!x1 + x8!x7!x6x5!x4!x3!x2x1 + x8!x7!x6x5!x4!x3x2!x1 + x8!x7!x6x5!x4!x3x2x1 + x8!x7!x6x5!x4x3!x2!x1 + x8!x7!x6x5!x4x3!x2x1 + x8!x7!x6x5!x4x3x2!x1 + x8!x7!x6x5!x4x3x2x1 + x8!x7!x6x5x4!x3!x2!x1 + x8!x7!x6x5x4!x3!x2x1 + x8!x7!x6x5x4!x3x2x1 + x8!x7x6!x5!x4!x3!x2!x1 + x8!x7x6!x5!x4!x3!x2x1 + x8!x7x6!x5!x4!x3x2!x1 + x8!x7x6!x5!x4x3!x2!x1 + x8!x7x6!x5!x4x3!x2x1 + x8!x7x6!x5!x4x3x2!x1 + x8!x7x6!x5!x4x3x2x1 + x8!x7x6!x5x4!x3!x2!x1 + x8!x7x6!x5x4!x3!x2x1 + x8!x7x6!x5x4!x3x2!x1 + x8!x7x6!x5x4!x3x2x1 + x8!x7x6!x5x4x3!x2!x1 + x8!x7x6!x5x4x3!x2x1 + x8!x7x6!x5x4x3x2!x1 + x8!x7x6!x5x4x3x2x1 + x8!x7x6x5!x4!x3!x2!x1 + x8!x7x6x5!x4!x3!x2x1 + x8!x7x6x5!x4!x3x2!x1 + x8!x7x6x5!x4x3!x2!x1 + x8!x7x6x5!x4x3!x2x1 + x8!x7x6x5!x4x3x2!x1 + x8!x7x6x5!x4x3x2x1 + x8!x7x6x5x4!x3!x2!x1 + x8!x7x6x5x4!x3!x2x1 + x8!x7x6x5x4!x3x2!x1 + x8!x7x6x5x4!x3x2x1 + x8!x7x6x5x4x3!x2!x1 + x8!x7x6x5x4x3!x2x1 + x8!x7x6x5x4x3x2!x1
y13 = 0
y12 = 0
y11 = x8!x7!x6!x5!x4!x3!x2!x1 + x8!x7!x6!x5!x4!x3!x2x1 + x8!x7!x6!x5!x4!x3x2!x1 + x8!x7!x6!x5!x4!x3x2x1 + x8!x7!x6!x5!x4x3!x2!x1 + x8!x7!x6!x5!x4x3!x2x1 + x8!x7!x6!x5!x4x3x2!x1 + x8!x7!x6!x5!x4x3x2x1 + x8!x7!x6!x5x4!x3!x2!x1 + x8!x7!x6!x5x4!x3!x2x1 + x8!x7!x6!x5x4!x3x2!x1 + x8!x7!x6!x5x4!x3x2x1 + x8!x7!x6!x5x4x3!x2!x1 + x8!x7!x6!x5x4x3!x2x1 + x8!x7!x6!x5x4x3x2!x1 + x8!x7!x6!x5x4x3x2x1 + x8!x7!x6x5!x4!x3!x2!x1 + x8!x7!x6x5!x4!x3!x2x1 + x8!x7!x6x5!x4!x3x2!x1 + x8!x7!x6x5!x4x3!x2!x1 + x8!x7x6!x5!x4!x3!x2!x1 + x8!x7x6!x5!x4!x3!x2x1 + x8!x7x6!x5!x4!x3x2!x1 + x8!x7x6!x5!x4!x3x2x1 + x8!x7x6!x5!x4x3!x2!x1 + x8!x7x6!x5!x4x3!x2x1 + x8!x7x6!x5!x4x3x2!x1 + x8!x7x6!x5!x4x3x2x1 + x8!x7x6!x5x4!x3!x2!x1 + x8!x7x6!x5x4!x3!x2x1 + x8!x7x6!x5x4!x3x2!x1 + x8!x7x6!x5x4!x3x2x1 + x8!x7x6!x5x4x3!x2!x1 + x8!x7x6!x5x4x3!x2x1 + x8!x7x6!x5x4x3x2!x1 + x8!x7x6!x5x4x3x2x1 + x8!x7x6x5!x4!x3!x2!x1 + x8!x7x6x5!x4!x3!x2x1 + x8!x7x6x5!x4!x3x2!x1 + x8!x7x6x5!x4!x3x2x1 + x8!x7x6x5!x4x3!x2!x1 + x8!x7x6x5!x4x3!x2x1 + x8!x7x6x5!x4x3x2!x1 + x8!x7x6x5!x4x3x2x1 + x8!x7x6x5x4!x3!x2!x1 + x8!x7x6x5x4!x3!x2x1 + x8!x7x6x5x4!x3x2!x1 + x8!x7x6x5x4!x3x2x1 + x8!x7x6x5x4x3!x2!x1 + x8!x7x6x5x4x3!x2x1 + x8!x7x6x5x4x3x2!x1 + x8x7!x6!x5!x4!x3!x2!x1 + x8x7!x6!x5!x4!x3!x2x1 + x8x7!x6!x5!x4!x3x2!x1 + x8x7!x6!x5!x4!x3x2x1 + x8x7!x6!x5!x4x3!x2!x1 + x8x7!x6!x5!x4x3!x2x1 + x8x7!x6!x5!x4x3x2!x1 + x8x7!x6!x5!x4x3x2x1 + x8x7!x6!x5x4!x3!x2!x1 + x8x7!x6!x5x4!x3!x2x1 + x8x7!x6!x5x4!x3x2!x1 + x8x7!x6!x5x4!x3x2x1 + x8x7!x6!x5x4x3!x2!x1 + x8x7!x6!x5x4x3!x2x1 + x8x7!x6!x5x4x3x2!x1 + x8x7!x6!x5x4x3x2x1 + x8x7!x6x5!x4!x3!x2!x1 + x8x7!x6x5!x4!x3!x2x1 + x8x7!x6x5!x4!x3x2!x1 + x8x7!x6x5!x4!x3x2x1 + x8x7!x6x5!x4x3!x2!x1 + x8x7!x6x5!x4x3!x2x1 + x8x7!x6x5!x4x3x2!x1 + x8x7!x6x5!x4x3x2x1 + x8x7!x6x5x4!x3!x2!x1 + x8x7!x6x5x4!x3!x2x1 + x8x7!x6x5x4!x3x2!x1 + x8x7!x6x5x4!x3x2x1 + x8x7!x6x5x4x3!x2!x1 + x8x7!x6x5x4x3!x2x1 + x8x7!x6x5x4x3x2!x1 + x8x7!x6x5x4x3x2x1 + x8x7x6!x5!x4!x3!x2!x1 + x8x7x6!x5!x4!x3!x2x1 + x8x7x6!x5!x4!x3x2!x1 + x8x7x6!x5!x4!x3x2x1 + x8x7x6!x5!x4x3!x2!x1 + x8x7x6!x5!x4x3!x2x1 + x8x7x6!x5!x4x3x2!x1 + x8x7x6!x5!x4x3x2x1 + x8x7x6!x5x4!x3!x2!x1 + x8x7x6!x5x4!x3!x2x1 + x8x7x6!x5x4!x3x2!x1 + x8x7x6!x5x4!x3x2x1 + x8x7x6!x5x4x3!x2!x1 + x8x7x6!x5x4x3!x2x1 + x8x7x6!x5x4x3x2!x1 + x8x7x6!x5x4x3x2x1 + x8x7x6x5!x4!x3!x2!x1 + x8x7x6x5!x4!x3!x2x1 + x8x7x6x5!x4!x3x2!x1 + x8x7x6x5!x4!x3x2x1 + x8x7x6x5!x4x3!x2!x1 + x8x7x6x5!x4x3!x2x1 + x8x7x6x5!x4x3x2!x1 + x8x7x6x5!x4x3x2x1 + x8x7x6x5x4!x3!x2!x1 + x8x7x6x5x4!x3!x2x1 + x8x7x6x5x4!x3x2!x1 + x8x7x6x5x4!x3x2x1 + x8x7x6x5x4x3!x2!x1 + x8x7x6x5x4x3!x2x1 + x8x7x6x5x4x3x2!x1 + x8x7x6x5x4x3x2x1
y10 = x8!x7!x6x5!x4!x3x2x1 + x8!x7!x6x5!x4x3!x2x1 + x8!x7!x6x5!x4x3x2!x1 + x8!x7!x6x5!x4x3x2x1 + x8!x7!x6x5x4!x3!x2!x1 + x8!x7!x6x5x4!x3!x2x1 + x8!x7!x6x5x4!x3x2x1
y9 = x8!x7!x6!x5!x4!x3!x2!x1 + x8!x7!x6!x5!x4!x3!x2x1 + x8!x7!x6!x5!x4!x3x2!x1 + x8!x7!x6!x5!x4!x3x2x1 + x8!x7!x6!x5!x4x3!x2!x1 + x8!x7!x6!x5!x4x3!x2x1 + x8!x7!x6!x5!x4x3x2!x1 + x8!x7!x6!x5!x4x3x2x1 + x8!x7!x6!x5x4!x3!x2!x1 + x8!x7!x6!x5x4!x3!x2x1 + x8!x7!x6!x5x4!x3x2!x1 + x8!x7!x6!x5x4!x3x2x1 + x8!x7!x6!x5x4x3!x2!x1 + x8!x7!x6!x5x4x3!x2x1 + x8!x7!x6!x5x4x3x2!x1 + x8!x7!x6!x5x4x3x2x1 + x8!x7!x6x5!x4!x3!x2!x1 + x8!x7!x6x5!x4!x3!x2x1 + x8!x7!x6x5!x4!x3x2!x1 + x8!x7!x6x5!x4!x3x2x1 + x8!x7!x6x5!x4x3!x2!x1 + x8!x7!x6x5x4!x3x2x1 + x8!x7x6!x5!x4!x3!x2!x1 + x8!x7x6!x5!x4!x3!x2x1 + x8!x7x6!x5!x4!x3x2!x1 + x8!x7x6!x5!x4x3!x2!x1 + x8!x7x6!x5!x4x3!x2x1 + x8!x7x6!x5!x4x3x2!x1 + x8!x7x6!x5!x4x3x2x1 + x8!x7x6!x5x4!x3!x2!x1 + x8!x7x6!x5x4!x3!x2x1 + x8!x7x6!x5x4!x3x2!x1 + x8!x7x6!x5x4!x3x2x1 + x8!x7x6!x5x4x3!x2!x1 + x8!x7x6!x5x4x3!x2x1 + x8!x7x6!x5x4x3x2!x1 + x8!x7x6!x5x4x3x2x1 + x8!x7x6x5!x4!x3!x2!x1 + x8!x7x6x5!x4!x3!x2x1 + x8!x7x6x5!x4!x3x2!x1 + x8!x7x6x5!x4x3!x2!x1 + x8!x7x6x5!x4x3!x2x1 + x8!x7x6x5!x4x3x2!x1 + x8!x7x6x5!x4x3x2x1 + x8!x7x6x5x4!x3!x2!x1 + x8!x7x6x5x4!x3!x2x1 + x8!x7x6x5x4!x3x2!x1 + x8!x7x6x5x4!x3x2x1 + x8!x7x6x5x4x3!x2!x1 + x8!x7x6x5x4x3!x2x1 + x8!x7x6x5x4x3x2!x1
y8 = x8!x7!x6!x5x4!x3x2x1 + x8!x7!x6!x5x4x3!x2!x1 + x8!x7!x6!x5x4x3!x2x1 + x8!x7!x6!x5x4x3x2!x1 + x8!x7!x6!x5x4x3x2x1 + x8!x7!x6x5!x4!x3!x2!x1 + x8!x7!x6x5!x4!x3!x2x1 + x8!x7!x6x5!x4!x3x2!x1 + x8!x7!x6x5!x4x3!x2!x1 + x8!x7!x6x5x4!x3x2!x1 + x8!x7!x6x5x4x3!x2!x1 + x8!x7!x6x5x4x3!x2x1 + x8!x7!x6x5x4x3x2!x1 + x8!x7!x6x5x4x3x2x1 + x8!x7x6x5x4x3x2x1
y7 = x8!x7!x6x5!x4x3x2x1 + x8!x7!x6x5x4!x3!x2!x1 + x8!x7!x6x5x4!x3!x2x1 + x8!x7!x6x5x4x3x2x1 + x8!x7x6!x5!x4!x3!x2!x1 + x8!x7x6!x5!x4!x3!x2x1 + x8!x7x6!x5!x4!x3x2!x1 + x8!x7x6!x5!x4!x3x2x1 + x8!x7x6!x5!x4x3!x2!x1 + x8!x7x6!x5!x4x3!x2x1 + x8!x7x6!x5!x4x3x2!x1 + x8!x7x6!x5!x4x3x2x1 + x8!x7x6!x5x4!x3!x2!x1 + x8!x7x6!x5x4!x3!x2x1 + x8!x7x6!x5x4!x3x2!x1 + x8!x7x6!x5x4!x3x2x1 + x8!x7x6!x5x4x3!x2!x1 + x8!x7x6!x5x4x3!x2x1 + x8!x7x6!x5x4x3x2!x1 + x8!x7x6!x5x4x3x2x1 + x8!x7x6x5!x4!x3!x2!x1 + x8!x7x6x5!x4!x3!x2x1 + x8!x7x6x5!x4!x3x2!x1 + x8!x7x6x5!x4x3!x2!x1 + x8!x7x6x5!x4x3!x2x1 + x8!x7x6x5!x4x3x2!x1 + x8!x7x6x5!x4x3x2x1 + x8!x7x6x5x4!x3!x2!x1 + x8!x7x6x5x4!x3!x2x1 + x8!x7x6x5x4!x3x2!x1 + x8!x7x6x5x4!x3x2x1 + x8!x7x6x5x4x3!x2!x1 + x8!x7x6x5x4x3!x2x1 + x8!x7x6x5x4x3x2!x1 + x8x7!x6!x5!x4!x3!x2!x1 + x8x7!x6!x5!x4!x3x2x1 + x8x7!x6!x5!x4x3x2!x1 + x8x7!x6!x5x4!x3!x2!x1 + x8x7!x6x5!x4!x3!x2x1 + x8x7!x6x5!x4!x3x2!x1 + x8x7!x6x5!x4!x3x2x1 + x8x7!x6x5!x4x3!x2!x1 + x8x7!x6x5!x4x3!x2x1 + x8x7!x6x5x4!x3!x2!x1 + x8x7!x6x5x4!x3!x2x1 + x8x7!x6x5x4!x3x2x1 + x8x7!x6x5x4x3!x2!x1 + x8x7!x6x5x4x3!x2x1 + x8x7!x6x5x4x3x2!x1 + x8x7!x6x5x4x3x2x1
y6 = x8!x7!x6!x5!x4x3x2x1 + x8!x7!x6!x5x4!x3!x2!x1 + x8!x7!x6!x5x4!x3!x2x1 + x8!x7!x6!x5x4!x3x2!x1 + x8!x7!x6x5!x4!x3x2x1 + x8!x7!x6x5!x4x3!x2!x1 + x8!x7!x6x5x4!x3!x2!x1 + x8!x7!x6x5x4!x3!x2x1 + x8!x7!x6x5x4!x3x2!x1 + x8!x7!x6x5x4!x3x2x1 + x8!x7!x6x5x4x3!x2!x1 + x8!x7!x6x5x4x3!x2x1 + x8!x7!x6x5x4x3x2!x1 + x8!x7!x6x5x4x3x2x1 + x8!x7x6x5!x4!x3!x2x1 + x8!x7x6x5!x4!x3x2!x1 + x8!x7x6x5!x4x3!x2!x1 + x8!x7x6x5!x4x3!x2x1 + x8!x7x6x5!x4x3x2!x1 + x8!x7x6x5!x4x3x2x1 + x8!x7x6x5x4!x3!x2!x1 + x8!x7x6x5x4!x3!x2x1 + x8!x7x6x5x4!x3x2!x1 + x8!x7x6x5x4!x3x2x1 + x8!x7x6x5x4x3!x2!x1 + x8!x7x6x5x4x3!x2x1 + x8!x7x6x5x4x3x2!x1 + x8!x7x6x5x4x3x2x1 + x8x7!x6!x5!x4!x3!x2x1 + x8x7!x6!x5!x4!x3x2!x1 + x8x7!x6!x5!x4x3!x2!x1 + x8x7!x6!x5!x4x3!x2x1 + x8x7!x6!x5!x4x3x2x1 + x8x7!x6!x5x4!x3!x2x1 + x8x7!x6!x5x4!x3x2!x1 + x8x7!x6!x5x4!x3x2x1 + x8x7!x6!x5x4x3!x2!x1 + x8x7!x6!x5x4x3!x2x1 + x8x7!x6!x5x4x3x2!x1 + x8x7!x6!x5x4x3x2x1 + x8x7!x6x5!x4!x3!x2!x1 + x8x7!x6x5!x4x3x2!x1 + x8x7!x6x5!x4x3x2x1 + x8x7!x6x5x4!x3x2!x1 + x8x7x6!x5!x4!x3!x2!x1 + x8x7x6!x5!x4!x3x2x1 + x8x7x6!x5!x4x3x2!x1 + x8x7x6!x5x4!x3!x2!x1 + x8x7x6x5!x4!x3!x2x1 + x8x7x6x5!x4!x3x2!x1 + x8x7x6x5!x4!x3x2x1 + x8x7x6x5!x4x3!x2!x1 + x8x7x6x5!x4x3!x2x1 + x8x7x6x5x4!x3!x2!x1 + x8x7x6x5x4!x3!x2x1 + x8x7x6x5x4!x3x2x1 + x8x7x6x5x4x3!x2!x1 + x8x7x6x5x4x3!x2x1 + x8x7x6x5x4x3x2!x1 + x8x7x6x5x4x3x2x1
y5 = x8!x7!x6!x5!x4!x3x2x1 + x8!x7!x6!x5!x4x3!x2!x1 + x8!x7!x6!x5!x4x3!x2x1 + x8!x7!x6!x5!x4x3x2!x1 + x8!x7!x6!x5x4!x3!x2x1 + x8!x7!x6!x5x4!x3x2!x1 + x8!x7!x6!x5x4x3x2x1 + x8!x7!x6x5!x4!x3!x2!x1 + x8!x7!x6x5!x4!x3!x2x1 + x8!x7!x6x5!x4!x3x2!x1 + x8!x7!x6x5!x4x3!x2x1 + x8!x7!x6x5!x4x3x2!x1 + x8!x7!x6x5x4x3!x2!x1 + x8!x7!x6x5x4x3!x2x1 + x8!x7!x6x5x4x3x2!x1 + x8!x7!x6x5x4x3x2x1 + x8!x7x6!x5!x4!x3!x2!x1 + x8!x7x6!x5!x4!x3!x2x1 + x8!x7x6!x5!x4!x3x2!x1 + x8!x7x6!x5!x4!x3x2x1 + x8!x7x6!x5!x4x3!x2!x1 + x8!x7x6!x5!x4x3!x2x1 + x8!x7x6!x5!x4x3x2!x1 + x8!x7x6!x5!x4x3x2x1 + x8!x7x6!x5x4!x3!x2!x1 + x8!x7x6!x5x4!x3!x2x1 + x8!x7x6!x5x4!x3x2!x1 + x8!x7x6!x5x4!x3x2x1 + x8!x7x6!x5x4x3!x2!x1 + x8!x7x6!x5x4x3!x2x1 + x8!x7x6!x5x4x3x2!x1 + x8!x7x6!x5x4x3x2x1 + x8!x7x6x5!x4!x3!x2!x1 + x8x7!x6!x5!x4!x3!x2x1 + x8x7!x6!x5!x4!x3x2!x1 + x8x7!x6!x5!x4x3!x2!x1 + x8x7!x6!x5!x4x3!x2x1 + x8x7!x6!x5!x4x3x2x1 + x8x7!x6!x5x4!x3!x2x1 + x8x7!x6!x5x4!x3x2!x1 + x8x7!x6!x5x4!x3x2x1 + x8x7!x6!x5x4x3!x2!x1 + x8x7!x6!x5x4x3!x2x1 + x8x7!x6!x5x4x3x2!x1 + x8x7!x6!x5x4x3x2x1 + x8x7!x6x5!x4!x3!x2!x1 + x8x7!x6x5!x4x3x2!x1 + x8x7!x6x5!x4x3x2x1 + x8x7!x6x5x4!x3x2!x1 + x8x7x6!x5!x4!x3!x2x1 + x8x7x6!x5!x4!x3x2!x1 + x8x7x6!x5!x4x3!x2!x1 + x8x7x6!x5!x4x3!x2x1 + x8x7x6!x5!x4x3x2x1 + x8x7x6!x5x4!x3!x2x1 + x8x7x6!x5x4!x3x2!x1 + x8x7x6!x5x4!x3x2x1 + x8x7x6!x5x4x3!x2!x1 + x8x7x6!x5x4x3!x2x1 + x8x7x6!x5x4x3x2!x1 + x8x7x6!x5x4x3x2x1 + x8x7x6x5!x4!x3!x2!x1 + x8x7x6x5!x4x3x2!x1 + x8x7x6x5!x4x3x2x1 + x8x7x6x5x4!x3x2!x1
y4 = x8!x7!x6!x5!x4!x3x2!x1 + x8!x7!x6!x5!x4x3!x2x1 + x8!x7!x6!x5!x4x3x2!x1 + x8!x7!x6!x5x4!x3!x2!x1 + x8!x7!x6!x5x4!x3x2!x1 + x8!x7!x6!x5x4x3!x2x1 + x8!x7!x6!x5x4x3x2!x1 + x8!x7!x6x5!x4x3!x2x1 + x8!x7!x6x5!x4x3x2!x1 + x8!x7!x6x5!x4x3x2x1 + x8!x7x6!x5x4!x3!x2x1 + x8!x7x6!x5x4!x3x2!x1 + x8!x7x6!x5x4!x3x2x1 + x8!x7x6!x5x4x3!x2!x1 + x8!x7x6!x5x4x3!x2x1 + x8!x7x6!x5x4x3x2!x1 + x8!x7x6!x5x4x3x2x1 + x8!x7x6x5!x4!x3!x2!x1 + x8!x7x6x5x4!x3x2!x1 + x8!x7x6x5x4!x3x2x1 + x8!x7x6x5x4x3!x2!x1 + x8!x7x6x5x4x3!x2x1 + x8!x7x6x5x4x3x2!x1 + x8!x7x6x5x4x3x2x1 + x8x7!x6!x5!x4!x3!x2!x1 + x8x7!x6!x5x4!x3!x2x1 + x8x7!x6!x5x4!x3x2!x1 + x8x7!x6!x5x4!x3x2x1 + x8x7!x6!x5x4x3!x2!x1 + x8x7!x6!x5x4x3!x2x1 + x8x7!x6!x5x4x3x2!x1 + x8x7!x6!x5x4x3x2x1 + x8x7!x6x5!x4!x3!x2!x1 + x8x7!x6x5!x4!x3!x2x1 + x8x7!x6x5x4!x3!x2!x1 + x8x7!x6x5x4!x3!x2x1 + x8x7!x6x5x4!x3x2x1 + x8x7!x6x5x4x3!x2!x1 + x8x7!x6x5x4x3!x2x1 + x8x7!x6x5x4x3x2x1 + x8x7x6!x5!x4!x3!x2!x1 + x8x7x6!x5x4!x3!x2x1 + x8x7x6!x5x4!x3x2!x1 + x8x7x6!x5x4!x3x2x1 + x8x7x6!x5x4x3!x2!x1 + x8x7x6!x5x4x3!x2x1 + x8x7x6!x5x4x3x2!x1 + x8x7x6!x5x4x3x2x1 + x8x7x6x5!x4!x3!x2!x1 + x8x7x6x5!x4!x3!x2x1 + x8x7x6x5x4!x3!x2!x1 + x8x7x6x5x4!x3!x2x1 + x8x7x6x5x4!x3x2x1 + x8x7x6x5x4x3!x2!x1 + x8x7x6x5x4x3!x2x1 + x8x7x6x5x4x3x2x1
y3 = x8!x7!x6!x5!x4!x3x2!x1 + x8!x7!x6!x5!x4x3!x2!x1 + x8!x7!x6!x5!x4x3x2!x1 + x8!x7!x6!x5!x4x3x2x1 + x8!x7!x6!x5x4!x3!x2!x1 + x8!x7!x6!x5x4!x3!x2x1 + x8!x7!x6!x5x4!x3x2!x1 + x8!x7!x6!x5x4x3!x2!x1 + x8!x7!x6!x5x4x3x2!x1 + x8!x7!x6x5x4!x3!x2!x1 + x8!x7!x6x5x4!x3!x2x1 + x8!x7!x6x5x4x3x2!x1 + x8!x7!x6x5x4x3x2x1 + x8!x7x6!x5!x4x3!x2x1 + x8!x7x6!x5!x4x3x2!x1 + x8!x7x6!x5!x4x3x2x1 + x8!x7x6!x5x4!x3!x2!x1 + x8!x7x6!x5x4x3!x2x1 + x8!x7x6!x5x4x3x2!x1 + x8!x7x6!x5x4x3x2x1 + x8!x7x6x5!x4!x3!x2!x1 + x8!x7x6x5!x4x3x2!x1 + x8!x7x6x5!x4x3x2x1 + x8!x7x6x5x4!x3!x2!x1 + x8!x7x6x5x4!x3!x2x1 + x8!x7x6x5x4x3x2!x1 + x8x7!x6!x5!x4!x3!x2!x1 + x8x7!x6!x5!x4!x3x2x1 + x8x7!x6!x5!x4x3!x2!x1 + x8x7!x6!x5!x4x3!x2x1 + x8x7!x6!x5!x4x3x2!x1 + x8x7!x6!x5x4!x3!x2!x1 + x8x7!x6!x5x4x3!x2x1 + x8x7!x6!x5x4x3x2!x1 + x8x7!x6!x5x4x3x2x1 + x8x7!x6x5!x4!x3!x2!x1 + x8x7!x6x5!x4!x3!x2x1 + x8x7!x6x5!x4x3x2!x1 + x8x7!x6x5x4!x3!x2!x1 + x8x7!x6x5x4!x3x2!x1 + x8x7!x6x5x4x3!x2!x1 + x8x7!x6x5x4x3x2!x1 + x8x7x6!x5!x4!x3!x2!x1 + x8x7x6!x5!x4!x3x2x1 + x8x7x6!x5!x4x3!x2!x1 + x8x7x6!x5!x4x3!x2x1 + x8x7x6!x5!x4x3x2!x1 + x8x7x6!x5x4!x3!x2!x1 + x8x7x6!x5x4x3!x2x1 + x8x7x6!x5x4x3x2!x1 + x8x7x6!x5x4x3x2x1 + x8x7x6x5!x4!x3!x2!x1 + x8x7x6x5!x4!x3!x2x1 + x8x7x6x5!x4x3x2!x1 + x8x7x6x5x4!x3!x2!x1 + x8x7x6x5x4!x3x2!x1 + x8x7x6x5x4x3!x2!x1 + x8x7x6x5x4x3x2!x1
y2 = x8!x7!x6!x5!x4!x3!x2x1 + x8!x7!x6x5!x4!x3!x2x1 + x8!x7!x6x5!x4!x3x2!x1 + x8!x7!x6x5!x4x3x2!x1 + x8!x7!x6x5x4x3!x2x1 + x8!x7!x6x5x4x3x2!x1 + x8!x7!x6x5x4x3x2x1 + x8!x7x6!x5!x4!x3x2!x1 + x8!x7x6!x5!x4x3!x2!x1 + x8!x7x6!x5!x4x3x2x1 + x8!x7x6!x5x4!x3!x2!x1 + x8!x7x6!x5x4!x3x2x1 + x8!x7x6!x5x4x3!x2!x1 + x8!x7x6!x5x4x3x2x1 + x8!x7x6x5!x4!x3!x2!x1 + x8!x7x6x5!x4x3!x2!x1 + x8!x7x6x5!x4x3!x2x1 + x8!x7x6x5x4!x3!x2!x1 + x8!x7x6x5x4!x3!x2x1 + x8!x7x6x5x4x3!x2!x1 + x8!x7x6x5x4x3!x2x1 + x8x7!x6!x5!x4!x3!x2!x1 + x8x7!x6!x5!x4!x3x2x1 + x8x7!x6!x5!x4x3x2x1 + x8x7!x6!x5x4!x3x2x1 + x8x7!x6!x5x4x3!x2!x1 + x8x7!x6!x5x4x3x2x1 + x8x7!x6x5!x4!x3!x2!x1 + x8x7!x6x5!x4!x3!x2x1 + x8x7!x6x5!x4x3!x2!x1 + x8x7!x6x5!x4x3!x2x1 + x8x7!x6x5!x4x3x2!x1 + x8x7!x6x5!x4x3x2x1 + x8x7!x6x5x4!x3!x2x1 + x8x7!x6x5x4!x3x2!x1 + x8x7!x6x5x4x3x2!x1 + x8x7!x6x5x4x3x2x1 + x8x7x6!x5!x4!x3!x2!x1 + x8x7x6!x5!x4!x3x2x1 + x8x7x6!x5!x4x3x2x1 + x8x7x6!x5x4!x3x2x1 + x8x7x6!x5x4x3!x2!x1 + x8x7x6!x5x4x3x2x1 + x8x7x6x5!x4!x3!x2!x1 + x8x7x6x5!x4!x3!x2x1 + x8x7x6x5!x4x3!x2!x1 + x8x7x6x5!x4x3!x2x1 + x8x7x6x5!x4x3x2!x1 + x8x7x6x5!x4x3x2x1 + x8x7x6x5x4!x3!x2x1 + x8x7x6x5x4!x3x2!x1 + x8x7x6x5x4x3x2!x1 + x8x7x6x5x4x3x2x1
y1 = x8!x7!x6x5!x4!x3!x2!x1 + x8!x7!x6x5!x4!x3x2!x1 + x8!x7!x6x5!x4x3!x2x1 + x8!x7!x6x5x4!x3!x2x1 + x8!x7!x6x5x4!x3x2x1 + x8!x7!x6x5x4x3x2!x1 + x8!x7!x6x5x4x3x2x1 + x8!x7x6!x5!x4!x3!x2x1 + x8!x7x6!x5!x4!x3x2x1 + x8!x7x6!x5!x4x3!x2!x1 + x8!x7x6!x5!x4x3x2!x1 + x8!x7x6!x5x4!x3!x2!x1 + x8!x7x6!x5x4!x3x2!x1 + x8!x7x6!x5x4x3!x2!x1 + x8!x7x6!x5x4x3x2!x1 + x8!x7x6x5!x4!x3!x2!x1 + x8!x7x6x5!x4!x3x2!x1 + x8!x7x6x5!x4!x3x2x1 + x8!x7x6x5!x4x3!x2x1 + x8!x7x6x5!x4x3x2x1 + x8!x7x6x5x4!x3!x2x1 + x8!x7x6x5x4!x3x2x1 + x8!x7x6x5x4x3!x2x1 + x8!x7x6x5x4x3x2x1 + x8x7!x6!x5!x4!x3x2!x1 + x8x7!x6!x5!x4x3!x2x1 + x8x7!x6!x5!x4x3x2x1 + x8x7!x6!x5x4!x3!x2!x1 + x8x7!x6!x5x4!x3x2!x1 + x8x7!x6!x5x4x3!x2!x1 + x8x7!x6!x5x4x3x2!x1 + x8x7!x6x5!x4!x3!x2!x1 + x8x7!x6x5!x4!x3!x2x1 + x8x7!x6x5!x4!x3x2x1 + x8x7!x6x5!x4x3!x2x1 + x8x7!x6x5x4!x3!x2x1 + x8x7!x6x5x4!x3x2!x1 + x8x7!x6x5x4x3!x2!x1 + x8x7!x6x5x4x3!x2x1 + x8x7!x6x5x4x3x2!x1 + x8x7x6!x5!x4!x3x2!x1 + x8x7x6!x5!x4x3!x2x1 + x8x7x6!x5!x4x3x2x1 + x8x7x6!x5x4!x3!x2!x1 + x8x7x6!x5x4!x3x2!x1 + x8x7x6!x5x4x3!x2!x1 + x8x7x6!x5x4x3x2!x1 + x8x7x6x5!x4!x3!x2!x1 + x8x7x6x5!x4!x3!x2x1 + x8x7x6x5!x4!x3x2x1 + x8x7x6x5!x4x3!x2x1 + x8x7x6x5x4!x3!x2x1 + x8x7x6x5x4!x3x2!x1 + x8x7x6x5x4x3!x2!x1 + x8x7x6x5x4x3!x2x1 + x8x7x6x5x4x3x2!x1
31 дек 21, 02:04    [22416412]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / Программирование Ответить