В одной из кодировок Unicode каждый символ кодируется 24 битами. Витя написал текст (в нём нет лишних пробелов): “Яблоня, груша, вишня, абрикос, слива – плодовые деревья”
Ученик вычеркнул из списка название одного из деревьев. Заодно он вычеркнул ставшие лишними запятые и пробелы – два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 24 байт меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название дерева.
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Число элементов в массиве:');
var a:=ArrRandom(n,1,99);
Write('Исходный массив: '); a.Println;
var n1,n2:integer;
Write('Границы номеров элементов для суммы: '); Read(n1,n2);
if n1>n2 then Swap(n1,n2);
if (n1<1) or (n2>n) then Writeln('Границы выходят за пределы массива')
else Writeln('S=',a[n1-1:n2].Sum)
end.
Пример
Число элементов в массиве: 15
Исходный массив: 89 82 45 28 88 68 34 19 35 26 67 43 71 96 66
Границы номеров элементов для суммы: 4 9
S=272
5355
Объяснение:
1. Редактор отдает приоритет комбинации 555, потому что она стоит сразу после ЕСЛИ. Потому сначала Редактор преобразует все 555 к 3.
Среди 62 пятерок комбинация 555 встретится 20 раз (62 делим нацело на 3, потому что в группе 3 цифры). Поэтому получим 20 троек и за ними 55 (62 - 60 = 2 пятерки останутся).
2. Теперь 555 больше нет и Редактор начнет заменяать каждые 333 на 5. Он так сделает три раза (заменит 9 троек на 555), потому что снова появится 555, которое более приоритетно. Поэтому 9 троек заменятся на 555, а 555 заменится на 3. Из 20 исходных троек обработали 9 и заменили их на одну троку, поэтому теперь будет строка из 12 троек (20 -9 + 1) и двух пятерок в конце.
3. Снова 9 из 12 троек заменятся на 555, а те потом заменятся на 3. Получим строку 333355. В ней 333 заменится на 5. И окончательно будет 5355.