Дана последовательность из n неотрицательных целых чисел. На каждом шагу эти числа упорядочивают по возрастанию и каждые два соседних числа заменяют на разность большего и меньшего. Программу выполняют до тех пор пока не останется одно число — Pascal(Паскаль)

uses crt;
function max(a, b: longint): longint;
var t: longint;
begin
  if a>b then t := a;
  if b>a then t := b;
  max := t;
end;
 
function min(a, b: longint): longint;
var t: longint;
begin
  if a<b then t := a;
  if b<a then t := b;
  min := t;
end;
 
Var
  i, j, k, n, t, m: longint;
  a: array[1..100] of longint;
begin
  clrscr;
  readln(n);
  m := n;
  for i := 1 to n do read(a[i]);
  for k := 1 to n do
  begin
  for i := 1 to n-1 do
    begin
      for j := 1 to n-1 do
        begin
          if (a[j]>a[j+1]) then
            begin
              t := a[j];
              a[j] := a[j+1];
              a[j+1] := t;
            end;
        end;
    end;
  for i := 1 to n-1 do
    a[i] := max(a[i], a[i+1])-min(a[i],a[i+1]);
  for i := 1 to n-1 do
    write(a[i], ' ');
    writeln;
    dec(n);
  end;
  readln;
  readln;
end.

Leave a Comment

16 − = 12