zadach129.PAS

{* Задача 129 *}

Unit ZADACH129;
Interface
Implementation
Begin
 writeln('Натуральное число из n цифр является числом Армстронга, т.е. сумма его цифр возведенная в n степень, равна самому числу (153=1*1*1+5*5*5+3*3*3). Получить все числа Армстронга для n=4 и n=3.');
End.

Program zadach129;

Uses zadach129.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключаем внешние файлы *}
Var {* В работе нам потребуются переменные: *}
  i : integer;
  j : integer;
  k : integer;
  l : integer;
  n : longint;
  m : longint;
Begin
  clrscr; {* Очищаем экран *}
  Begin
    For i := 1 To 9 Do {* Цикл для i => [1 .. 9] *}
      For j := 0 To 9 Do {* Цикл для j => [0 .. 9] *}
        For k := 0 To 9 Do {* Увеличиваем k от 0 до 9 с шагом 1 *}
          For l := 0 To 9 Do {* Увеличиваем l от 0 до 9 с шагом 1 *}
          Begin
            n := 1000 * i + 100 * j + 10 * k + l;
            If i * i * i * i + j * j * j * j + k * k * k * k + l * l * l * l = n Then
              writeln(n);
          End;
    
  End;
  Begin
    For i := 1 To 9 Do {* Цикл для i => [1 .. 9] *}
      For j := 0 To 9 Do {* Цикл для j => [0 .. 9] *}
        For k := 0 To 9 Do {* Переменная k увеличивается с 0 до 9 *}
        Begin
          m := 100 * i + 10 * j + k;
          If i * i * i + j * j * j + k * k * k = m Then
            writeln(m);
        End;
    
  End;
  readln; {* Приостановка программы. Ожидание Enter *}
End.