Регистрация
Войти
Стать экспертом Правила
Информатика

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

ОТВЕТЫ
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.
Тут операция \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
238
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам