Ответы
Ответ дал:
0
1. Поскольку алгоритм генерации значения циклически повторяется для каждой тройки элементов, логично привязаться к остатку от деления индекса на 3. Тогда получим следующую формулу:
![displaystyle a[i]=left{begin{matrix}
i,& imod 3=1 \
a_{i-1}^2, & imod 3=2 \
a_{i-1} div 3, & i mod 3=0
end{matrix}right. displaystyle a[i]=left{begin{matrix}
i,& imod 3=1 \
a_{i-1}^2, & imod 3=2 \
a_{i-1} div 3, & i mod 3=0
end{matrix}right.](https://tex.z-dn.net/?f=displaystyle+a%5Bi%5D%3Dleft%7Bbegin%7Bmatrix%7D%0Ai%2C%26amp%3B+imod+3%3D1++%5C+%0Aa_%7Bi-1%7D%5E2%2C+%26amp%3B+imod+3%3D2+%5C+%0Aa_%7Bi-1%7D+div+3%2C+%26amp%3B+i+mod+3%3D0%0Aend%7Bmatrix%7Dright.)
Тут операция
означает целочисленное деление.
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. Тут формула преобразования совсем простая:

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
Тут операция
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. Тут формула преобразования совсем простая:
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
Похожие вопросы
2 года назад
2 года назад
6 лет назад
9 лет назад
9 лет назад