zadach142.PAS

{* Задача 142 *}

Unit ZADACH142;
Interface
Implementation
Begin
 writeln('Даны купюры 1$, 2$, 5$, 10$ , их кол-во неогранич. Выдать данную зарплату всеми возможными способами ');
End.

Program pas13509;

Uses zadach142.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключение модулей *}
Var {* Объявление переменных *}
  s  : longint;
  s1 : longint;
  n  : longint;
  a  : longint;
  b  : longint;
  c  : longint;
  d  : longint;
Begin
  clrscr; {* Стираем всё с экрана *}
  write('введите сумму денег ');
  readln(s);
  For a := 0 To s Do {* Увеличиваем a от 0 до s с шагом 1 *}
    For b := 0 To trunc(s / 2) Do {* Цикл для b => [0 .. trunc(s] *}
      For c := 0 To trunc(s / 5) Do {* Цикл для c => [0 .. trunc(s] *}
        For d := 0 To trunc(s / 10) Do {* Увеличиваем d от 0 до trunc(s с шагом 1 *}
        Begin
          s1 := 1 * a + 2 * b + 5 * c + 10 * d;
          If s = s1 Then
          Begin
            n := n + 1;
            writeln('по 1$=', a, ' по 2$=', b, ' по 5$=', c, ' по 10$=', d);
          End;
          
        End;
  write('кол-во способов:', n);
  readln; {* Ждем нажатия Enter *}
End.