
Дано натуральное число n. Определить число способов выплаты суммы n рублей с помощью монет
достоинством 1, 2, 5 рублей и бумажных купюр достоинством 10 рублей, а также все способы выплаты. Язык паскаль, только цикл for и while,repeat.

Ответы на вопрос

Ответ:
как-то так
Объяснение:
var
n,s,k:integer;
begin
writeln( 'введите n');
readln(n);
s:=0; k := 0;
while s<=n do begin
s:=s+10; k:=k+10 end;
s:=s-10;k:=k-10;
while s<=n do begin s:=s+5; k:=k+4 end;
s:=s-5; k:=k-4;
while s<=n do begin s:=s+2;k:=k+2;end;
s:=s-2;k:=k-2;
while s<=n do begin s:=s+1;k:=k+1;end;
s:=s-1; k:=k-1;
writeln ('сумма',n,' получена', k,'способами ','получившаеся набранная сумма для проверки',s)
end.



Для решения этой задачи вам нужно использовать жадный алгоритм. Вы будете поочередно вычитать из суммы n наибольшую доступную монету или купюру, начиная с наибольшей и двигаясь к наименьшей, пока не достигнете нулевой суммы. При этом вам нужно будет подсчитывать количество способов выплаты суммы n и записывать все комбинации монет и купюр.
Вот пример решения этой задачи на языке Pascal с использованием цикла repeat
:
pascalprogram CountWaysToPay; var n, temp, count: integer; begin write('Введите сумму (n): '); readln(n); writeln('Все способы выплаты:'); count := 0; temp := n; repeat if temp >= 10 then begin writeln('Выдать 10 рублей'); temp := temp - 10; end else if temp >= 5 then begin writeln('Выдать 5 рублей'); temp := temp - 5; end else if temp >= 2 then begin writeln('Выдать 2 рубля'); temp := temp - 2; end else begin writeln('Выдать 1 рубль'); temp := temp - 1; end; count := count + 1; until temp = 0; writeln('Общее количество способов выплаты: ', count); end.
Этот код сначала запрашивает у пользователя сумму n, затем использует жадный алгоритм для определения способов выплаты и выводит их на экран.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili