![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 10.06.2007
Сообщений: 5
|
![]()
Помогите пожалуйста, срочно нужно досдать задачу, а я не понимаю как ее писать, в алгоритм никак не въеду=\
С терминала вводится число n. Считая, что введенное число-сумма, подлежащая оплате, напечатать все варианты ее оплаты в банкнотах и монетах, имеющихся на данный момент в обороте. Найти способ, требующий наименьшего количества банкнот и монет. В задаче нужно использовать рекурсию, номиналы банкнот и монет беруться из файла или вводятся как константы, можно присваивать их внутри программы, это несущественно. Если кто то может-помогите, нужно позарез просто=\ |
![]() |
![]() |
![]() |
#2 |
php / delphi
Форумчанин
Регистрация: 10.06.2007
Сообщений: 175
|
![]()
По секрету (из тервера) расскажу, что если N-ом обзовем количество уникальных денюжек (купюр или монетов), то всего вариантов, которыми можно набрать требуемую сумму (максимальное их количество):
![]() Все варианты не стал перебирать - это не сложно. ![]() В моей реализации: M( N=11 )=2047 вариантов. А потому алгоритм следующий: 1) Лучший вариант – в котором наименьшее количество банкнот и монет). 2) Если номиналы выразить в рублях, то монета определяется из условия: n<10 3) Сразу сообразим: если получится удачная комбинация из Z<N денюжек, то рассматривать комбинации Z+1 не имеет смысла по определению, потому будем сначала набирать сумму максимальными денюжками (рекурсией). 4) Кстати, кто не знаком с особенностями машинной арифметики: в проге в переменной s накапливается после нескольких итераций ошибки округления. Пошагово можете посмотреть, кому интересно. В первую очередь подозрения ложатся на криворукость Борланда в фунции trunc. Поэтому условие: s<>0 пришлось заменить на |s|>0.001; Код:
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра. Последний раз редактировалось InternetStranger; 11.06.2007 в 17:50. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 10.06.2007
Сообщений: 5
|
![]()
Спс) Но..файл исходника поврежден, и открываться отказывается=\ и если честно, не совсем понятны значения команд memo1.clear , strtofloat(edit1.text) , memo1.lines.add , inttostr...Поясните плиз)))
Последний раз редактировалось caterva; 11.06.2007 в 18:46. |
![]() |
![]() |
![]() |
#4 |
ObjectPascal,CISCO
Форумчанин
Регистрация: 22.05.2007
Сообщений: 294
|
![]()
Delphi это..
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 10.06.2007
Сообщений: 5
|
![]()
...нда..теперь ясно) просто мне задача на паскале нужна, да и сама я только паскаль и с++ знаю)) а..нельзя то же самое в паскаль перевести?
![]() |
![]() |
![]() |
![]() |
#6 |
php / delphi
Форумчанин
Регистрация: 10.06.2007
Сообщений: 175
|
![]()
можно и на паскале. че-то я забыл про название раздела.
качай
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра. |
![]() |
![]() |
![]() |
#7 |
Регистрация: 10.06.2007
Сообщений: 5
|
![]()
хм..я так понимаю, эта программа выводит только максимальное количество купюр и монет, из которого можно собрать заданную сумму. А как вывести все возможные варианты?
|
![]() |
![]() |
![]() |
#8 |
Регистрация: 10.06.2007
Сообщений: 5
|
![]()
ну в общем, спс огромное, я ее сама решила) там он ме правда ошибку выводит хз почему, но , думаю, разберусь. Спс за помощь+)
|
![]() |
![]() |
![]() |
#9 |
php / delphi
Форумчанин
Регистрация: 10.06.2007
Сообщений: 175
|
![]()
Вот и прелесть, здрава будь) можешь даже код сюда вывесить. так на всякий случай
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
показать кол-во и сумму приходов | Romuald | Microsoft Office Excel | 10 | 02.09.2008 14:17 |
впочему не выводит сумму???? | макс07 | Общие вопросы C/C++ | 2 | 15.05.2008 20:25 |
Подсчитать сумму! | Deman4eg | Microsoft Office Excel | 2 | 02.04.2008 09:16 |
#Delphi задача на сумму цифр числа | forumu | Помощь студентам | 11 | 12.01.2008 19:02 |
Задача по оплате | BedDog | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 23.05.2007 06:42 |