09/07/17 14:37:18
>>494
% Prolog
t494 :-
重複組合せ([1,2,3,4,5,6,7,8,9],3,[A,B,C]),
10 is A + B + C,
write_formatted('%t + %t + %t\n',[A,B,C]),
fail.
t494.
重複組合せ(X,1,[A]) :-
member(A,X).
重複組合せ([A|Y],N,[A|X]) :-
N > 1,
M is N - 1,
重複組合せ([A|Y],M,X).
重複組合せ([_|Y],N,A) :-
N > 1,
重複組合せ(Y,N,A).