0 / 0 / 0
Регистрация: 21.09.2019
Сообщений: 15
1

Размен монет

16.02.2020, 21:15. Показов 1158. Ответов 1
Метки нет (Все метки)

Имеется n рублей. Требуется разменять данную сумму, если в кассе есть купюры 10 руб, 100 руб, 50 руб, 1 руб. Подсчитать кол-во способов, которыми это можно сделать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2020, 21:15
Ответы с готовыми решениями:

Наименьшее количество монет
Привет, %Username%. Прошу помощи у форума с задачей по программированию на паскаль. Требуется...

Вывести сумму в наименьшем количестве монет
Есть неограниченное количество монет номиналами 1, 2, 5, 25 и 50 копеек. Составить программу,...

Напечатать TRUE для случая, если у всех монет выпал «орел»
Верно ли я выполнил решение задачи? _____________________________________ Переменные M1, M2 и M3...

Напечатать достоинство всех монет, необходимых для получения заданной суммы (вывести все варианты)
Написать программу, которая считывает денежную сумму напечатать достоинство всех монет, необходимых...

1
5046 / 2621 / 2344
Регистрация: 10.12.2014
Сообщений: 9,977
17.02.2020, 04:35 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const
  купюры : array of Integer = (1,10,50,100);
 
function способыРазмены(всего, сумма, купюра : Integer) : Integer;
begin
  if всего < сумма then
    Exit
  else if всего = сумма then
    Result := 1
  else
    for var i := купюра to купюры.Length-1 do
      Result += способыРазмены(всего, сумма + купюры[i], i);
end;
 
begin
  способыРазмены(ReadInteger, 0, 0).PrintLn;
end.
Добавлено через 1 минуту
А если выводить эти самые способы, то:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const
  купюры : array of Integer = (1,10,50,100);
 
function способыРазмены(всего, сумма, купюра : Integer; способ : String) : Integer;
begin
  if всего < сумма then
    Exit
  else if всего = сумма then
    begin
      Result := 1;
      (способ + '=' + всего).Println;
    end
  else
    for var i := купюра to купюры.Length-1 do
      Result += способыРазмены(всего, сумма + купюры[i], i, способ + (способ.Length>0 ? '+' : '') + купюры[i]);
end;
 
begin
  способыРазмены(ReadInteger, 0, 0, '').PrintLn;
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2020, 04:35
Помогаю со студенческими работами здесь

Напишите программу, которая находит наибольшее количество монет, которое может собрать пират, и выводит его маршрут
Прямоугольный остров разделён на квадраты, так что его размеры – N на M квадратов. В каждом...

Наборы монет.
Не судите строго, за наглость, если таковая наблюдается), но не могли бы вы помочь ещё и с этой...

Программа подсчета монет
Даны монеты номиналом 1, 2, 5, 10, 25, 50. Нужно написать программу, в которую вводится любое...

Найти максимально возможно количество монет в заначке
Подскажите пожалуйста почему во 2 тесте минимум - 1. Формула n члена: T(k+1)=T(k)/2-x(k+1)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru