<em>// PascalABC.NET 3.2, сборка 1379 от 21.01.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var s:=ReadlnString('Введите строку:');
s:=s.Left(Pos('!',s)-1);
Writeln('Пробелов: ',s.Where(c->c=' ').Count);
Writeln('Буква "ю" в последовательность ',Pos('ю',s)=0?'не ':'',
'входит');
if s.Intersect('шина').Count=4 then
Writeln('Среди символов есть все буквы слова "шина"')
else Writeln('Среди символов нет всех букв слова "шина"');
if s.Matches('но|он').Count>0 then
Writeln('Есть соседствующие буквы "он" или "но"')
else Writeln('Нет соседствующих букв "он" или "но"');
if s.ToCharArray.Pairwise((x,y)->x=y).Count>0 then
Writeln('Есть пара соседствующих одинаковых символов')
else Writeln('Нет пары соседствующих одинаковых символов')
end.
<u>Пример:</u>
Введите строку: наша пища хороша, но не так, чтобы очень. соответственно, мы не очень толсты! как-то так.
Пробелов: 12
Буква "ю" в последовательность не входит
Среди символов есть все буквы слова "шина"
Есть соседствующие буквы "он" или "но"
Есть пара соседствующих одинаковых символов
Составим уравнение и решим его:
8*n+8000 = 16*n
8*n = 8000 где n - количество символов в сообщении
Переведем в байты и получим, что первоначальный объем сообщения равен 8000/8 = 1000байт
Var n,i:integer;
begin
read (n);
if (n>=1)then begin
for i:=0 to n do
begin
if (i*2+i*i+1)<=n then writeln (i*2+i*i+1);
end;
end else writeln ('Нет таких чисел');
end.
Из одного листа формата А3 получается два листа формата A4.
Поэтому составляем уравнение и решаем его.
Поскольку основание системы счисления - натуральное число, выбираем значение x=6.
<u><em>Ответ:</em></u> счет вели в системе счисления с основанием шесть.
Всего 64 фломастера, каждый из них можем достать, значит всего 64 события)
1). 64=2i
26=2i
i = 6 (бит) - приходится на 1 событие.
<span>^ Ответ: Сообщение о том, что из коробки достали красный фломастер содержит 6 бит информации</span>