Ответ(ы) на вопрос:
Гость
1. Поскольку алгоритм генерации значения циклически повторяется для каждой тройки элементов, логично привязаться к остатку от деления индекса на 3. Тогда получим следующую формулу:
[latex]\displaystyle a[i]=\left\{\begin{matrix} i,& i\mod 3=1 \\ a_{i-1}^2, & i\mod 3=2 \\ a_{i-1} \div 3, & i \mod 3=0 \end{matrix}\right.[/latex]
Тут операция [latex]\div[/latex] означает целочисленное деление.
var
a:array[1..9] of integer;
i:integer;
begin
for i:=1 to 9 do begin
case i mod 3 of
1: a[i]:=i;
2: a[i]:=sqr(a[i-1]);
0: a[i]:=a[i-1] div i
end;
Write(a[i],' ')
end
end.
Результат
1 1 0 4 16 2 7 49 5
2. Тут формула преобразования совсем простая:
[latex]\diaplaystyle b_i=a_i^2-a_i=a_i(a_i-1)[/latex]
var
a,b:array[1..15] of integer;
i:integer;
begin
randomize;
for i:=1 to 15 do begin
a[i]:=Random(51)-25;
Write(a[i],' ');
b[i]:=a[i]*(a[i]-1)
end;
Writeln;
for i:=1 to 15 do Write(a[i]-b[i],' ');
Writeln
end.
Пример
-6 -14 -13 25 13 21 11 17 -2 -19 -9 25 -11 15 17
-48 -224 -195 -575 -143 -399 -99 -255 -8 -399 -99 -575 -143 -195 -255
Не нашли ответ?
Похожие вопросы