Мне, необходимо сдать ! (pascal abc.net) дана n-сумма (1530) в рублях.вывести на экран линиями количество купюр которыми можно представить данную сумму.итого должно быть 5 номиналов. пояснения: (div; mod; k-количество; n-сумма).также, необходимо сделать, как можно меньше делений!
Решение "в лоб", без оптимизаций:
Procedure Razmen(a : Integer);
Begin
If a>=500 then
Begin
Writeln('500 - ',a div 500);
Razmen(a-(a div 500)*500);
end
else
If a>=100 then
Begin
Writeln('100 - ',a div 100);
Razmen(a-(a div 100)*100);
end
else
If a>=50 then
Begin
Writeln('50 - ',a div 50);
Razmen(a-(a div 50)*50);
end
else
If a>=10 then
Begin
Writeln('10 - ',a div 10);
Razmen(a-(a div 10)*10);
end
else
If a>=5 then
Begin
Writeln('5 - ',a div 5);
Razmen(a-(a div 5)*5);
end
else Writeln('1 - ',a);
end;
Begin
Razmen(1530);
end.