• Предмет: Информатика
  • Автор: KarinaMalinka
  • Вопрос задан 8 лет назад

Решите пожалуйста Паскаль

Приложения:

Ответы

Ответ дал: Аноним
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.
Тут операция div означает целочисленное деление.

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. Тут формула преобразования совсем простая:
diaplaystyle b_i=a_i^2-a_i=a_i(a_i-1)

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
Похожие вопросы