0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 8
|
||||||
1 | ||||||
Рекурсивно определить, мржно ли заданную сумму денег разменять монетами по 3, 10, 15 копеек03.08.2012, 12:50. Показов 4543. Ответов 5
Метки нет (Все метки)
Добрый день.
Подскажите, пожалуйста, где ошибка в решении следующей задачи: написать программу, которая рекурсивно позволяет определить, можно ли заданную сумму разменять монетами по 3, 10, 15 копеек. Программа выдаёт результат только для суммы, равной 30. Сама я думаю, что ошибка во второй части программы, в месте вызова функции (номер строки 32). Код следующий:
Заранее большое спасибо!
0
|
03.08.2012, 12:50 | |
Ответы с готовыми решениями:
5
Определить, можно ли разменять сумму в N копеек данными монетами Сколькими способами можно разменять 10 копеек монетами по 1, 2, 3 и 5 копеек? Подсчет количества способов, которыми можно разменять рубль медными монетами (достоинством 1, 2, 3, 5 копеек) Способы потратить определенную сумму денег определенными монетами |
Z3JheSBoYXQ=
342 / 237 / 83
Регистрация: 08.07.2012
Сообщений: 577
|
||||||
03.08.2012, 14:12 | 2 | |||||
По рекурсии. Представь ситуацию что ты собираешь яблоки упавшие с дерева. В этом механизме сбора яблок есть фрагмент, который повторяется регулярно. Это наклон, взятия яблока, помещения яблока в корзину. Вот эти три действия можно поместить в отдельную функцию и к примеру вызывать ее в зависимости от количества упавших яблок. Ясно?
0
|
1728 / 1020 / 181
Регистрация: 03.06.2012
Сообщений: 1,220
|
|
03.08.2012, 15:32 | 3 |
Это, скорее, не рекурсия, а итерация.
Наиболее простой пример рекурсии - вычисление факториала: если нужно вычислить N!, то можно вычислить (N-1)! и результат умножить на N. Характерная черта рекурсии - сведение задачи к аналогичной, как правило, более простой (в примере - сведение вычисления N! к к вычислению (N-1)!), а не явное повторение какой-либо операции. В данной задаче можно рассуждать похожим образом: данную сумму S можно разменять указанным образом, если указанным образом можно разменять сумму S-3, S-5 либо S-15. При этом, как всегда, важно позаботиться о проверке условия завершения рекурсии (чтобы избежать бесконечной рекурсии).
1
|
03.08.2012, 17:35 | 4 | |||||
Привет Selin-a.
Я твой код слегка изменил, также и _tmain и _TCHAR. Ты сама посмотри чтобы у тебя в среде всё работало. У меня работает.
0
|
Модератор
|
||||||
03.08.2012, 17:37 | 5 | |||||
Вот решение, основанное на идее Splen-а:
2
|
0 / 0 / 0
Регистрация: 02.06.2012
Сообщений: 8
|
|
03.08.2012, 19:21 [ТС] | 6 |
Большое всем спасибо за помощь
0
|
03.08.2012, 19:21 | |
03.08.2012, 19:21 | |
Помогаю со студенческими работами здесь
6
Определить номер самого дорого товара, который намерен приобрести покупатель, имеющий заданную сумму денег Проверить, можно ли набрать заданную сумму монетами заданных номиналов Какое наибольшее количество бутылок воды можно купить, имея некоторую сумму денег S копеек? Дана некоторая сумма денег. Разменять эту сумму банкнотами 1, 3, 5, 10, 20 так, чтобы количество банкнот было минимальным. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |