zadacg159.PAS

{* Задача 159 *}

Unit ZADACG159;
Interface
Implementation
Begin
 writeln('Получить все способы расстановки шести книг разных авторов. ');
End.

Program pas0;

Uses zadacg159.pas; {* Эту строку можно удалить *}
Uses crt; {* Вызов внешних функций *}
Var {* В работе нам потребуются переменные: *}
  k  : longint;
  i1 : longint;
  i2 : longint;
  i3 : longint;
  i4 : longint;
  i5 : longint;
  i6 : longint;
  i7 : longint;
  i8 : longint;
  m  : longint;
  fl : longint;
  mm : String;
Begin
  clrscr; {* Стираем всё с экрана *}
  For i1 := 1 To 6 Do {* Переменная i1 увеличивается с 1 до 6 *}
    For i2 := 1 To 6 Do {* Цикл для i2 => [1 .. 6] *}
      For i3 := 1 To 6 Do {* Увеличиваем i3 от 1 до 6 с шагом 1 *}
        For i4 := 1 To 6 Do {* Цикл для i4 => [1 .. 6] *}
          For i5 := 1 To 6 Do {* Цикл для i5 => [1 .. 6] *}
            For i6 := 1 To 6 Do {* Увеличиваем i6 от 1 до 6 с шагом 1 *}
            Begin
              m := i6 + i5 * 10 + i4 * 100 + i3 * 1000 + i2 * 10000 + i1 * 100000;
              str(m, mm);
              fl := 0;
              For i7 := 1 To 5 Do {* Переменная i7 увеличивается с 1 до 5 *}
                For i8 := i7 + 1 To 6 Do
                  If mm[i7] = mm[i8] Then
                    fl := 1;
              If fl = 0 Then
              Begin
                write(m, '  ');
                inc(k); {* Увеличиваем k на 1 *}
              End;
              
            End;
  write(' кол-во:', k);
  readln; {* Приостановка программы. Ожидание Enter *}
End.