Var s: longint; n: array[1..5] of integer; c, i: integer;
begin n[1] := 1000; n[2] := 500; n[3] := 100; n[4] := 50; n[5] := 10; Write('Введите сумму, кратную 10: '); Readln(s); if (s mod 10) <> 0 then s := 10 * (s div 10); i := 1; while s > 0 do begin c := s div n[i]; if c > 0 then begin Write(n[i], 'x', c, ' '); s := s mod n[i] end; i := i + 1 end end.
s: longint;
n: array[1..5] of integer;
c, i: integer;
begin
n[1] := 1000;
n[2] := 500;
n[3] := 100;
n[4] := 50;
n[5] := 10;
Write('Введите сумму, кратную 10: ');
Readln(s);
if (s mod 10) <> 0 then s := 10 * (s div 10);
i := 1;
while s > 0 do
begin
c := s div n[i];
if c > 0 then begin Write(n[i], 'x', c, ' '); s := s mod n[i] end;
i := i + 1
end
end.
Тестовое решение:
Введите сумму, кратную 10: 52380
1000x52 100x3 50x1 10x3