
Герберт
7 год назад
Решите пожалуйста Паскаль

ОТВЕТЫ

Ветошников
Jul 20, 2019
1. Поскольку алгоритм генерации значения циклически повторяется для каждой тройки элементов, логично привязаться к остатку от деления индекса на 3. Тогда получим следующую формулу:
![\displaystyle a[i]=\left\{\begin{matrix}amp;#10;i,amp; i\mod 3=1 \\ amp;#10;a_{i-1}^2, amp; i\mod 3=2 \\ amp;#10;a_{i-1} \div 3, amp; i \mod 3=0amp;#10;\end{matrix}\right. \displaystyle a[i]=\left\{\begin{matrix}amp;#10;i,amp; i\mod 3=1 \\ amp;#10;a_{i-1}^2, amp; i\mod 3=2 \\ amp;#10;a_{i-1} \div 3, amp; i \mod 3=0amp;#10;\end{matrix}\right.](https://tex.z-dn.net/f=5Cdisplaystyle+a5Bi5D3D5Cleft5C7B5Cbegin7Bmatrix7D0Ai2C26+i5Cmod+33D1++5C5C+0Aa_7Bi-17D5E22C+26+i5Cmod+33D2+5C5C+0Aa_7Bi-17D+5Cdiv+32C+26+i+5Cmod+33D00A5Cend7Bmatrix7D5Cright.)
Тут операция
означает целочисленное деление.
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
238
Смежные вопросы: