static void Main(string[] args) { var perfectDisjunctionNormalForm = new PerfectDisjunctionNormalFormBinary( BitTools.GetOutputBool(KaterynaBodnarchukTask.KateBodnarchukCase)); uint input = uint.Parse(Console.ReadLine()); bool result = perfectDisjunctionNormalForm.Evaluate(input); Console.WriteLine(result ? 1 : 0); Console.ReadKey(); }
public void TestPerfectDisjunctionNormalForm() { bool[] outputsBool = BitTools.GetOutputBool(KaterynaBodnarchukTask.KateBodnarchukCase); var perfectDisjunctionNormalForm = new PerfectDisjunctionNormalFormBinary(outputsBool); var perfectConjunctionNormalForm = new PerfectConjunctionNormalFormBinary(outputsBool); for (uint input = 0; input < BitTools.rowsCount; input++) { bool expected = outputsBool[input]; bool actualPerfectDisjunctionNormalForm = perfectDisjunctionNormalForm.Evaluate(input); bool actualPerfectConjunctionNormalForm = perfectConjunctionNormalForm.Evaluate(input); Assert.AreEqual(expected, actualPerfectDisjunctionNormalForm); Assert.AreEqual(expected, actualPerfectConjunctionNormalForm); } }
public void TestMethod1() { uint[] outputIntegers = KaterynaBodnarchukTask.YouTubeCase; bool[] output = BitTools.GetOutputBool(outputIntegers); Func <uint, bool> perfectDisjunctionNormalFunction = new PerfectDisjunctionNormalFormBinary(output).Evaluate; Func <uint, bool> minimalDisjunctionalNormalFunction = value => ImplicantDisjunctionNormalForm.Evaluate( PositiveMcCluskeyMethod.GetImplicantDisjunctionNormalForm(output), value ); for (uint i = 0; i < BitTools.rowsCount; i++) { bool actual = output[i]; Assert.AreEqual(actual, perfectDisjunctionNormalFunction(i)); Assert.AreEqual(actual, minimalDisjunctionalNormalFunction(i)); } }