Валя шифрует русские слова (последовательности букв), записывая вместо каждой буквы её код.
А В Д О Р У
01 011 100 111 010 001
Некоторые шифровки можно расшифровать не одним Например, 00101001 может означать не только УРА, но и УАУ. Даны три кодовые цепочки:
0100100101
011011111100
0100110001
Найдите среди них ту, которая имеет только одну расшифровку, и запишите в ответе расшифрованное слово.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-20,20).Select(i->i/10).ToArray;
Write('Массив: '); a.Println;
Writeln('Сумма элементов с нечетными номерами: ',
a.Where((x,i)->i.IsEven).Sum);
var i1:=a.FindIndex(x->x<0);
var i2:=a.FindLastIndex(x->x<0);
Write('Вторая искомая сумма: ');
if i2=i1 then Writeln(0)
else Writeln(a[i1+1:i2].Sum);
Write('Сжатый массив: ');
a:=a.Where(x->abs(x)>1).ToArray; a.Println;
end.
Пример
n= 10
Массив: 1.8 0.2 1 -2 0.1 0.4 -1 1.2 -1.4 0.6
Сумма элементов с нечетными номерами: 0.5
Вторая искомая сумма: 0.7
Сжатый массив: 1.8 -2 1.2 -1.4
{1}
begin
var a:=readArrinteger('Вводите: ', readinteger('n ='));
write ('Ср. арифметическое: ', a.Average);
end.
{2}
begin
var a:=readarrinteger('Водите: ', readinteger('n ='));
var sum:=0;
for var i:=0 to length(a)-1 do if i.isodd then sum+=a[i];
write ('Сумма: ', sum);
end.
{3}
begin
var a:=readarrinteger('Вводите: ', readinteger('Кол-во элементов: '));
var otr:=0; var pol:=0;
for var i:=0 to length(a)-1 do if a[i]<0 then otr+=1 else pol+=1;
write('Массив: '); a.Println;
if otr=pol then write ('Отрицательных и положительных элементов равное кол-во') else
if otr>pol then write('Отрицательных больше на ', otr-pol) else
write ('Положительных больше на ', pol-otr);
end.