Задача 24 Урок 15

Задача 24 Урок 15

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

type arr= array [1..5] of integer;
var b,z:arr; i,n:integer;

function schet(x:integer; a:arr; var y:arr):boolean;
var i:integer;
begin
  if x mod 50=0 then
    result:=true
  else
    result:=false;

  for i:=1 to 5 do
    if (x div a[i]>0)then
    begin
      y[i]:=x div a[i];
      x:=x-y[i]*a[i];
      if x mod a[i]=0 then
        break;
    end;
end;

begin
  b[1]:=5000;
  b[2]:=1000;
  b[3]:=500;
  b[4]:=100;
  b[5]:=50;
  writeln('summa:');
  readln(n);

  if not schet(n,b,z) then
    writeln('net')
  else
    for i:=1 to 5 do
    begin
      if z[i]>0 then
      write(z[i],' po ',b[i],' ');
    end;
  readln();
end.