Определить количество способов оплаты N рублей с помощью монет достоинством 1, 2, 5, 10 рублей - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Дано натуральное число N (N<100). Определить количество способов оплаты N рублей с помощью монет достоинством 1, 2, 5, 10 рублей. (Использовать цикл в цикле, желательно, как можно проще).

Решение задачи: «Определить количество способов оплаты N рублей с помощью монет достоинством 1, 2, 5, 10 рублей»

textual
Листинг программы
  1. var n, n2, n5, n10, c: integer;
  2. begin
  3.   write('n = ');
  4.   readln(n);
  5.   c := 0;
  6.   for n10 := 0 to n div 10 do
  7.     for n5 := 0 to n div 5 do
  8.       for n2 := 0 to n div 2 do
  9.         if n - 10 * n10 - 5 * n5 - 2 * n2 >= 0
  10.           then inc(c);
  11.   writeln('Способов: ', c);
  12.   readln
  13. end.

Объяснение кода листинга программы

  1. В первой строке объявлены пять переменных: n, n2, n5, n10, c. Переменная n содержит число, которое вводит пользователь.
  2. Далее пользователю предлагается ввести число N.
  3. Инициализируется переменная c, которая будет считать количество способов.
  4. Запускается цикл, который перебирает все возможные комбинации монет: а) Внешний цикл n10 перебирает количество десятирублёвых монет. б) Следующий цикл n5 перебирает количество пятирублёвых монет. в) Внутренний цикл n2 перебирает количество двухрублёвых монет. г) Если сумма n1010 + n55 + n2*2 не превышает N, то увеличивается счётчик c.
  5. Выводится сообщение со значением переменной c.
  6. Запускается цикл чтения, чтобы программа могла получить ввод пользователя.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.154 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы