// PascalABC.NET 3.2, сборка 1345 от 24.11.2016 // Внимание! Если программа не работает, обновите её версию! begin var Z:=ArrRandom(ReadInteger('n='),1,99); Writeln('Массив Z'); Z.Println; Writeln('Массив X'); var X:=Z[1::2].Select(p->p/2).ToArray; Swap(X[0],X[X.Length-1]); X.Println; Writeln('Массив Y'); var Y:=Z[::2].Select(p->p/3).ToArray; Swap(Y[0],Y[Y.Length-1]); Y.Println end.
Пример n= 8 Массив Z 74 17 35 3 33 84 48 39 Массив X 19.5 1.5 42 8.5 Массив Y 16 11.6666666666667 11 24.6666666666667
gurina50
02.01.2021
В начале в строке находилось 333 троек по 8 плюс одна 8, всего 1000 восьмерок. 1. При выполнения цикла каждая из троек 8 будет заменена на одну 9. Значит у нас получится строка длиной в 334 символа, где 333 девятки и последний символ - восьмерка 2. Далее 333 девятки заменятся на 111 восьмерок плюс последняя восьмерка - всего получим 112 восьмерок 3. Из 112 восьмерок получится 37 девяток и одна восьмерка 4. И 37 девяток получим 12 восьмерок плюс одна девятка и плюс последняя восьмерка 5. 12 восьмерок дадут 4 девятки плюс последние 9 и 8 6. И наконец получаем строку 8998 ответ: 8998
// Внимание! Если программа не работает, обновите её версию!
begin
var Z:=ArrRandom(ReadInteger('n='),1,99);
Writeln('Массив Z'); Z.Println;
Writeln('Массив X');
var X:=Z[1::2].Select(p->p/2).ToArray; Swap(X[0],X[X.Length-1]);
X.Println;
Writeln('Массив Y');
var Y:=Z[::2].Select(p->p/3).ToArray; Swap(Y[0],Y[Y.Length-1]);
Y.Println
end.
Пример
n= 8
Массив Z
74 17 35 3 33 84 48 39
Массив X
19.5 1.5 42 8.5
Массив Y
16 11.6666666666667 11 24.6666666666667