Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Kombinacija k elemenata iz liste */
- komb(_, 0, []).
- komb([ G | R ], K, [ G | O ]):- K > 0,
- K1 is K - 1,
- komb(R, K1, O).
- komb([ _ | R ], K, O):- K > 0,
- komb(R, K, O).
- dodajNaKraj(E, [], [ E ]).
- dodajNaKraj(E, [ G | R ], S):- dodajNaKraj(E, R, S1),
- S = [ G | S1 ].
- /* Permutacije k elemenata iz liste */
- perm(_, 0, []).
- perm([ G | R ], K, [ G | O ]):- K > 0,
- K1 is K - 1,
- komb(R, K1, O).
- perm([ G | R ], K, O):- K > 0,
- K1 is K - 1,
- komb(R, K1, O1),
- dodajNaKraj(G, O1, O).
- perm([ _ | R ], K, O):- K > 0,
- komb(R, K, O).
- /*perm drugi nacin*/
- perm1([], []).
- perm1([ G | R ], L):- perm1(R, L1), ubaci(G, L1, L).
- ubaci(X, [], [X]).
- ubaci(X, [G|R], [X,G|R]).
- ubaci(X, [G|R], [G|R1]):- ubaci(X, R, R1).
- /* Napraviti kombinaciju tako da je suma u kombinaciji N */
- sum([], 0).
- sum([ G | L ], R):- sum(L, R1),
- R is R1 + G.
- sumkomb(L, Q, R):- length(L, N),
- blabla(L, N, Q, R).
- blabla(L, N, Q, R):- N > 0,
- komb(L, N, R),
- sum(R, Q).
- blabla(L, N, Q, R):- N > 0,
- N1 is N - 1,
- blabla(L, N1, Q, R).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement