Boolean
- From
- Nickita A Startcev (2:5030/1039.8)
- To
- Stanislav Elinson
- Date
- 2002-12-25T22:46:10Z
- Area
- RU.ALGORITHMS
Привет, Stanislav !
23 Dec 02 , 08:37 Stanislav Elinson писал к All:
SE> Привет тебе ALL!!
SE> Простенькая такая задачка, но в тормозах я сегодня;))
SE> Имеет n болевских переменных, например 3: a1,a2a3
SE> Имеем функцию f(a1,a2,a3), определенную через таблицу:
SE> a1 a2 a3 f()
SE> 0 0 0 0
SE> 0 0 1 1
SE> 0 1 0 0
SE> 0 1 1 0
SE> 1 0 0 0
SE> 1 0 1 0
SE> 1 1 0 1
SE> 1 1 1 1
SE> Как это редуцировать до вида f() = (a3) || (a1 && a2)
SE> Интересует алгоритм несложный для программирования.
Читаем таблицу построчно, те строки где справа 1:
not(a1)*not(a2)*a3 ; a1*a2*not(a3) ; a1*a2*a3 ;
Дальше начинаем 'склеивать' похожие слагаемые;
второе и третье склеивается в a1*a2, которое можно дописать к фунции, второе и третье слагаемое можно выкинуть. Дальше не помню, надо искать справочник.
. С уважением, Никита.
... Но вслух он этого не сказал, потому что он был очень умный Кролик.
--- GoldED+/LNX 1.1.4.7
* Origin: Люди Билли не любили... (c) (2:5030/1039.8)