Другие языки программирования и технологии

ПОдскажите по Паскалю

как узнать код данной программы, написанной в паскале
демо-версия программы

задание программы такой: Заданы количества монет (купюр) следующих достоинств: 1, 2, 3, 5, 10, 15, 25, 50, 100, 500, 1000, 2500, 5000, 10000. Можно ли набрать из этих монет заданную сумму.
Массив М (10000,...2) К =12 так как счет ведем с 0 (С=0)
Введите число Р = заданная сумма
С=0
1 Р=Р-М (С) - Вычитаем из заданной (текущей) суммы текущий номинал
Если Р меньше 0 то 2 - Либо закончились номиналы, либо нужно перейти на меньший номинал
Если Р=0 то 2 Понятно, что окей
Если Р больше 0 то 1 можно продолжать

2 Если С = К то 3 Был последний номинал
Иначе Р=Р+М (С) - восстановить ;С=С+1 следующий номинал
Идти на 1

2 Печать "Заданную сумму можно набрать"
Выход
3 Печать "Заданную сумму набрать нельзя"
Выход

Думаю, можно писать на Паскале, если будут вопросы - помогу. Алекс
Денис Садовничий
Денис Садовничий
202
Лучший ответ
Оба ответа неверны.
Возьмем для определенности вполне конкретные суммы и количества:
Сумма - 6, номиналы {5:1; 2:3; 1:0}
Какой ответ даст программа, работающая по вашему алгоритму?
Ответ очевиден: СУММУ НАБРАТЬ НЕЛЬЗЯ, потому что программа возьмем 5, а остаток 1 - не сможет набрать, а вот пропустить 5 и набрать 6 как три раза по два она не догадается.
Алгоритм подбора пока не могу изложить внятно, предупреждаю топикстартера, а также открываю глаза ответчикам на их ошибки.
Если алгоритм сложится у меня в голове, выложу. Пока думаю.
ОД
Олег Дьяков
5 082
Ну для России задача упощается. Ряд будет 1,2,5,10,50,100,500,1000,5000.
Вообще думаю, что проще написать свою программу, чем пытаться узнать код готового экзешника.
Скорее всего надо от заданной суммы отнимать номиналы в порядке убывания пока результат больше нуля.