дополнение к булевому уравнению - PullRequest
1 голос
/ 06 декабря 2010

Если у меня есть немного булево уравнение, есть ли простой способ или алгоритм, чтобы получить набор дополнений?

Например, скажем, у меня есть набор 3-битных логических уравнений {110, 001}, есть ли какой-нибудь простой способ получить набор дополнений в U (перестановка в 3 бита), то есть {000,010,011,100,101,111}?

Спасибо!

Ответы [ 3 ]

0 голосов
/ 06 декабря 2010
SET[] = {6, 1}

for(i=0;i<N;i++) {
 if(!exists(SET)) {
  add(i, COMPLEMENT_SET)
 }
}

N = 2 ^ n-1 Как то так ...

0 голосов
/ 06 декабря 2010

Вы можете вычесть ваш набор из U.

0 голосов
/ 06 декабря 2010

Перейдите по всей U (от 0 до 2^x - 1, где x - количество бит) и пропустите те, которые у вас уже есть.Вы можете преобразовать их в числа, чтобы ускорить проверку на равенство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...