Пролог - обмен монет с переменным номиналом - PullRequest
0 голосов
/ 28 сентября 2019

Пусть D будет списком различных целых чисел, обозначающих номиналы доступных монет.change (D, S, C) должен возвращать список целых чисел C, в котором указано количество монет каждого номинала в D, которые в сумме составляют S.

Например - ([25,12,3],26, L) должен дать [0,1,5].

Я уже искал похожие вопросы Пролог: обмен монет

Я знаю, как решить этот вопрос, используяфиксированное количество конфессий

vm(7).
vm(5).
vm(3).

coins(0, [[], 0]).
coins(V, [[M|Mx], K]) :-
    V > 0,
    vm(M),
    Vx is V - M,
    coins(Vx, [Mx, Kx]),
    K is Kx + 1.

Мне нужна помощь, чтобы решить этот вопрос с переменными номиналами, может ли кто-нибудь указать мне правильное направление?

...