Сначала немного теории. Тут у нас импликация(если..то...), комбинированная с конъюнкцией(и). Таблица истинности импликации(стрелочки): 0 0 1 0 1 1 1 0 0 1 1 1 Общее правило: если a<=b, тогда правда Таблица истинности конъюнкции(/\): 0 0 0 0 1 0 1 0 0 1 1 1 Общее правило: если есть одна ложь-всё ложь Теперь о примере: Просто подставляем вместо x варианты. Так как между двумя скобочками с Если... То... стоит И, нам нужен вариант, где оба Если... То... являются правдой. Рассмотрим подробно 1 вариант: 21<25 - это правда 21<23 - это правда Таким образом, в первых скобочках правда, это доказывает таблица истинности, приведённая выше. 21<22 - это правда 21>21 - это ложь В этих скобочках-ложь. А так как ложь и правда в И являются ложью, нам не подходит данный вариант 2 вариант-верный ответ, т.к.: 22<25 - это правда 22<23 - это правда В первых скобочках правда 22<22 - это ложь 22>21 - это правда И в этих скобках правда. Как можно убедится, снова взглянув в таблицу истинности для конъюнкции, всё выражение является правдой. 3 и 4 посмотрите сами и убедитесь что это ложь.
// PascalABC.NET 3.3, сборка 1583 от 25.11.2017 // Внимание! Если программа не работает, обновите версию!
begin var s:=ReadlnString; var c:=s.ToWords.Where(t->t.Length>1).SelectMany(w->w.Pairwise) .Select(t->t[0]+t[1]).GroupBy(t->t).Select(t->(t.Key,t.Count)) .OrderByDescending(t->t[1]).ThenByDescending(t->t[0]).First[0]; Writeln('Чаще других встречается цепочка "',c,'"') end.
Пример TWAS BRILLIG AND THE SLITHY TOVES DID GYRE AND GIMBLE IN THE WABE ALL MIMSY WERE THE BOROGOVES AND THE MOME RATHS OUTGRABE Чаще других встречается цепочка "TH"
Замечание: ограничение на длину строки увеличено до 2 млн. символов.
Тут у нас импликация(если..то...), комбинированная с конъюнкцией(и).
Таблица истинности импликации(стрелочки):
0 0 1
0 1 1
1 0 0
1 1 1
Общее правило: если a<=b, тогда правда
Таблица истинности конъюнкции(/\):
0 0 0
0 1 0
1 0 0
1 1 1
Общее правило: если есть одна ложь-всё ложь
Теперь о примере:
Просто подставляем вместо x варианты. Так как между двумя скобочками с Если... То... стоит И, нам нужен вариант, где оба Если... То... являются правдой.
Рассмотрим подробно 1 вариант:
21<25 - это правда
21<23 - это правда
Таким образом, в первых скобочках правда, это доказывает таблица истинности, приведённая выше.
21<22 - это правда
21>21 - это ложь
В этих скобочках-ложь.
А так как ложь и правда в И являются ложью, нам не подходит данный вариант
2 вариант-верный ответ, т.к.:
22<25 - это правда
22<23 - это правда
В первых скобочках правда
22<22 - это ложь
22>21 - это правда
И в этих скобках правда.
Как можно убедится, снова взглянув в таблицу истинности для конъюнкции, всё выражение является правдой.
3 и 4 посмотрите сами и убедитесь что это ложь.
// Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadlnString;
var c:=s.ToWords.Where(t->t.Length>1).SelectMany(w->w.Pairwise)
.Select(t->t[0]+t[1]).GroupBy(t->t).Select(t->(t.Key,t.Count))
.OrderByDescending(t->t[1]).ThenByDescending(t->t[0]).First[0];
Writeln('Чаще других встречается цепочка "',c,'"')
end.
Пример
TWAS BRILLIG AND THE SLITHY TOVES DID GYRE AND GIMBLE IN THE WABE ALL MIMSY WERE THE BOROGOVES AND THE MOME RATHS OUTGRABE
Чаще других встречается цепочка "TH"
Замечание: ограничение на длину строки увеличено до 2 млн. символов.