Функция будет ложна тогда, когда первая скобка истинна, а вторая ложна ( 1 --> 0 = 0 ). Из этого следует, что x не должно быть равно y, если x = 0, то y = 1 и наоборот. Построим таблицу истинности:
x y z w F
0 1 0 0 = 0
0 1 0 1 = 0
0 1 1 0 = 1
0 1 1 1 = 1
1 0 0 0 = 1
1 0 0 1 = 0
1 0 1 0 = 0
1 0 1 1 = 1
Подставив значения, отсеем лишние строки. Подходят 1, 2, 6 и 7 строки. Какая-то переменная должна быть ложна все три раза. Видим, что это строчки 1, 3 и 6, поскольку z ложна трижды. Методом анализа и перебора строк, установим, что порядок таков: zwyx
// PascalABC.NET 3.0, сборка 1139 от 10.01.2016 begin var s:=ReadLnString('Вводите:'); s.ToWords.Where(x->x=ReverseString(x)).PrintLn; end.
Тестовое решение: Вводите: дед иван достал наган и пошел с ним в шалаш дед наган и с в шалаш
Вариант, если исключить однобуквенные:
// PascalABC.NET 3.0, сборка 1139 от 10.01.2016 begin var s:=ReadLnString('Вводите:'); s.ToWords.Where(x->x=ReverseString(x)). Where(x->x.Length>1).PrintLn; end.
Тестовое решение: Вводите: дед иван достал наган и пошел с ним в шалаш дед наган шалаш
Функция будет ложна тогда, когда первая скобка истинна, а вторая ложна ( 1 --> 0 = 0 ). Из этого следует, что x не должно быть равно y, если x = 0, то y = 1 и наоборот. Построим таблицу истинности:
x y z w F
0 1 0 0 = 0
0 1 0 1 = 0
0 1 1 0 = 1
0 1 1 1 = 1
1 0 0 0 = 1
1 0 0 1 = 0
1 0 1 0 = 0
1 0 1 1 = 1
Подставив значения, отсеем лишние строки. Подходят 1, 2, 6 и 7 строки. Какая-то переменная должна быть ложна все три раза. Видим, что это строчки 1, 3 и 6, поскольку z ложна трижды. Методом анализа и перебора строк, установим, что порядок таков: zwyx