// 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 млн. символов.
1)55;
2)165;
3)147;
4)16;
5)32;
6)19
7)77;
8)36;
9)80;
10)65;
Объяснение:
Сумма арифметической прогрессии sₙ = (a₁ + aₙ) * n / 2;
Формула n-го члена арифметической прогрессии: aₙ = a₁ + d (n - 1);
Отсюда: n = (aₙ - a₁ + d) / d;
1)
В цикле переменная k принимает значения: 2, 3 , 4, ... 11;
Всего итераций цикла: n =(11 - 2 + 1) / 1 = 10.
В цикле к переменной s прибавляется k => посчитаем сумму арифметической прогрессии:
aₙ = 10, т.к. при 11 цикл прервется.
(1 + 10) * 10/2 = 55.
2)
В цикле переменная k принимает значения: 3, 6 , 9, ... 30;
Всего итераций цикла: (30 - 3 + 3) / 3 = 10.
В цикле к переменной s прибавляется k => посчитаем сумму арифметической прогрессии:
(3 + 30) * 10/2 = 165.
3)
В цикле переменная k принимает нечетные значения: 3, 5 , 7, ... 25;
Всего итераций цикла: n = (25 - 3 + 2) / 2 = 12.
В цикле к переменной s прибавляется k => посчитаем сумму арифметической прогрессии и прибавим начальное значение s = 3:
aₙ = 23, т.к. при 25 цикл прервется.
(1 + 23) * 12 / 2 + 3 = 147.
4)
s k
4 4
8 6
14 8
22 10
32 12
44 14
58 16
5)
s k
0 4
4 8
12 12
24 16
40 20
60 24
84 28
112 32
112 32
6)
s k
4 4
11 7
21 10
34 13
50 16
69 19
7)
В цикле переменная k принимает четные значения: 2, 4, 6, ... 16;
Всего итераций цикла: (16 - 2 + 2) / 2 = 8.
В цикле к переменной s прибавляется k => посчитаем сумму арифметической прогрессии и прибавим начальное значение s = 5:
(2 + 16) * 8/2 + 5 = 77.
8)
s k
0 3
6 6
18 9
36 12
9)
s k
0 4
8 8
24 12
48 16
80 20
10)
s k
1 4
9 8
25 12
49 16
s + k = 49 + 16 = 65.