Форум » Логические выражения » №2, Задача 4832 » Ответить

№2, Задача 4832

vega_core: Не пойму где ошибка в программе: [pre2]#((z → y) ∧ (¬ x → w)) → ((z ≡ w) ∨ (y ∧ ¬ x)) print('x y w z') for x in range(2): for y in range(2): for w in range(2): for z in range(2): if not(((z <= y) and (not(x) <= w)) <= ((z == w) or (y and not(x)))): print(x,y,w,z)[/pre2] Выводит только одну последовательность переменных x y w z 1 1 0 1 Может проще руками решать такое?

Ответов - 1

Ж: [pre2] print('w z y x') for w in range(2): for z in range(2): for y in range(2): for x in range(2): f=(((z <= y) and ( (not x) <= w)) <= ((z == w) or (y and (not x)))) if not f: print(w,z,y,x,f*1) [/pre2] Вот код, который показывает все варианты. Надо только найти нужный. [pre2] from itertools import * for c in permutations('xyzw'): print(*c, sep='',end=' '*3) print() for (x,y,z,w) in product([0,1], repeat=4): f=(((z <= y) and ( (not x) <= w)) <= ((z == w) or (y and (not x)))) if not f: for c in permutations([x, y, z, w]): print(*c, sep='', end=' '*3) print() [/pre2]



полная версия страницы