Миша создал электронную таблицу, в которой в ячейках диапазона a1: e1 могут содержаться только числа 0 или 1. в ячейку f1 мальчик записал формулу: =если(или(и(a1=0; c1=1); и(b1=1; d1=0); и(c1=0; e1=1)); 1; 0) сколько существует различных разрешенных комбинаций значений ячеек диапазона a1: e1, таких что в ячейке f1 миша будет получать значение, равное 1?
// Внимание! Если программа не работает, обновите версию!
begin
var p:=ArrRandom(40,-99,99); p.Println;
// максимум среди четных
var max:=p.Select((v,i)->(v,i)).Where(t->t[1].IsOdd).Max(t->t[0]);
// первый из четных индексов элементов, равных max
var im:=p.IndexesOf(t->t=max).Where(t->t.IsOdd).First;
// домножаем...
for var i:=0 to im-1 do p[i]*=max; p.Println
end.
Пример
63 53 -46 -34 -65 -87 79 71 57 -93 -49 51 -85 -46 -26 -7 53 96 86 38 -9 -91 71 -82 76 69 84 41 81 -11 5 -53 -94 -97 -92 -42 -85 -39 -43 -92
6048 5088 -4416 -3264 -6240 -8352 7584 6816 5472 -8928 -4704 4896 -8160 -4416 -2496 -672 5088 96 86 38 -9 -91 71 -82 76 69 84 41 81 -11 5 -53 -94 -97 -92 -42 -85 -39 -43 -92
var translatedText:string;
function translate(s:string):string;
const
gl:set of char=
['А','Е','Ё','И','О','У','Ы','Э','Ю','Я','а','е','ё','и','о','у','ы','э','ю','я'];
zn:set of char=['.',',','-','!','?','"',':'];
var i:integer;
begin
for i:=length(s) downto 1 do
if s[i] in gl+zn then delete(s,i,1);
while pos(' ',s)>0 do delete(s,pos(' ',s),1);
translate:=s;
translatedText:=s;
end;
begin
translate('Удивительный факт, но текст на языке НЕРАЗБОРЧИВО оказывается довольно просто читать. Достаточно небольшой тренировки - и вы сможете это делать.');
writeln(translatedText);
end.
Результат:двтльнй фкт н ткст н зк НРЗБРЧВ кзвтс двльн прст чтть Дсттчн нбльшй трнрвк в смжт т длть