zadach137.PAS

{* Задача 137 *}

Unit ZADACH137;
Interface
Implementation
Begin
 writeln('Найти мин. число , которое предст суммой четырёх квадратов нат. чисел не единственным образом ');
End.

Program pas13582;

Uses zadach137.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключаем внешние файлы *}
Var {* Объявление переменных *}
  i   : longint;
  a   : longint;
  b   : longint;
  c   : longint;
  d   : longint;
  j   : longint;
  k   : longint;
  l   : longint;
  min : longint;
  n   : longint;
  max : longint;
  e   : Array[1..10000] Of longint;
  p   : Array[1..1000] Of longint;
Begin
  clrscr; {* Очищаем экран *}
  i := 0;
  For a := 1 To 2 Do {* Увеличиваем a от 1 до 2 с шагом 1 *}
    For b := 1 To 3 Do {* Увеличиваем b от 1 до 3 с шагом 1 *}
      For c := 1 To 5 Do {* Цикл для c => [1 .. 5] *}
        For d := 1 To 10 Do {* Цикл для d => [1 .. 10] *}
        Begin
          n := sqr(a) + sqr(b) + sqr(c) + sqr(d);
          i := i + 1;
          e[i] := n;
        End;
  l := 0;
  For j := 1 To i - 1 Do {* Переменная j увеличивается с 1 до i *}
    For k := j + 1 To i Do
      If e[j] = e[k] Then
      Begin
        l := l + 1;
        p[l] := e[j];
      End;
  min := p[1];
  max := p[1];
  For k := 2 To l Do {* Цикл для k => [2 .. l] *}
  Begin
    If p[k]max Then
      max := p[k];
  End;
  write(' ОТВЕТ:min=', min, ' max=', max);
  readln; {* Ждем подтверждения пользователя *}
End.