Мне, необходимо сдать ! (pascal abc.net) дана n-сумма (1530) в рублях.вывести на экран линиями количество купюр которыми можно представить данную сумму.итого должно быть 5 номиналов. пояснения: (div; mod; k-количество; n-сумма).также, необходимо сделать, как можно меньше делений!

Vi0002 Vi0002    1   22.07.2019 15:00    0

Ответы
oldtelephone20 oldtelephone20  03.10.2020 10:52
Какое-то запутанное условие.
Решение "в лоб", без оптимизаций:

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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика