fork download
  1. % siblings(Gal, Guy)
  2. siblings(1, 1).
  3. siblings(1, 2).
  4. siblings(2, 3).
  5. siblings(2, 4).
  6.  
  7. % couples(Gals, Guys, Couples)
  8. couples([],[],[]).
  9. couples([Gal|RestGals], Guys, [[Gal,Guy]|RestCouples]) :-
  10. select(Guy, Guys, RestGuys),
  11. not(siblings(Gal, Guy)),
  12. couples(RestGals, RestGuys, RestCouples).
  13.  
  14. dance(Couples) :- couples([1,2,3,4,5], [1,2,3,4,5], Couples).
  15.  
  16. :- forall(dance(C), writeln(C)).
  17. :- aggregate_all(count, dance(C), N), write('Total '), writeln(N).
Success #stdin #stdout 0.03s 6204KB
stdin
Standard input is empty
stdout
[[1, 3], [2, 1], [3, 2], [4, 4], [5, 5]]
[[1, 3], [2, 1], [3, 2], [4, 5], [5, 4]]
[[1, 3], [2, 1], [3, 4], [4, 2], [5, 5]]
[[1, 3], [2, 1], [3, 4], [4, 5], [5, 2]]
[[1, 3], [2, 1], [3, 5], [4, 2], [5, 4]]
[[1, 3], [2, 1], [3, 5], [4, 4], [5, 2]]
[[1, 3], [2, 2], [3, 1], [4, 4], [5, 5]]
[[1, 3], [2, 2], [3, 1], [4, 5], [5, 4]]
[[1, 3], [2, 2], [3, 4], [4, 1], [5, 5]]
[[1, 3], [2, 2], [3, 4], [4, 5], [5, 1]]
[[1, 3], [2, 2], [3, 5], [4, 1], [5, 4]]
[[1, 3], [2, 2], [3, 5], [4, 4], [5, 1]]
[[1, 3], [2, 5], [3, 1], [4, 2], [5, 4]]
[[1, 3], [2, 5], [3, 1], [4, 4], [5, 2]]
[[1, 3], [2, 5], [3, 2], [4, 1], [5, 4]]
[[1, 3], [2, 5], [3, 2], [4, 4], [5, 1]]
[[1, 3], [2, 5], [3, 4], [4, 1], [5, 2]]
[[1, 3], [2, 5], [3, 4], [4, 2], [5, 1]]
[[1, 4], [2, 1], [3, 2], [4, 3], [5, 5]]
[[1, 4], [2, 1], [3, 2], [4, 5], [5, 3]]
[[1, 4], [2, 1], [3, 3], [4, 2], [5, 5]]
[[1, 4], [2, 1], [3, 3], [4, 5], [5, 2]]
[[1, 4], [2, 1], [3, 5], [4, 2], [5, 3]]
[[1, 4], [2, 1], [3, 5], [4, 3], [5, 2]]
[[1, 4], [2, 2], [3, 1], [4, 3], [5, 5]]
[[1, 4], [2, 2], [3, 1], [4, 5], [5, 3]]
[[1, 4], [2, 2], [3, 3], [4, 1], [5, 5]]
[[1, 4], [2, 2], [3, 3], [4, 5], [5, 1]]
[[1, 4], [2, 2], [3, 5], [4, 1], [5, 3]]
[[1, 4], [2, 2], [3, 5], [4, 3], [5, 1]]
[[1, 4], [2, 5], [3, 1], [4, 2], [5, 3]]
[[1, 4], [2, 5], [3, 1], [4, 3], [5, 2]]
[[1, 4], [2, 5], [3, 2], [4, 1], [5, 3]]
[[1, 4], [2, 5], [3, 2], [4, 3], [5, 1]]
[[1, 4], [2, 5], [3, 3], [4, 1], [5, 2]]
[[1, 4], [2, 5], [3, 3], [4, 2], [5, 1]]
[[1, 5], [2, 1], [3, 2], [4, 3], [5, 4]]
[[1, 5], [2, 1], [3, 2], [4, 4], [5, 3]]
[[1, 5], [2, 1], [3, 3], [4, 2], [5, 4]]
[[1, 5], [2, 1], [3, 3], [4, 4], [5, 2]]
[[1, 5], [2, 1], [3, 4], [4, 2], [5, 3]]
[[1, 5], [2, 1], [3, 4], [4, 3], [5, 2]]
[[1, 5], [2, 2], [3, 1], [4, 3], [5, 4]]
[[1, 5], [2, 2], [3, 1], [4, 4], [5, 3]]
[[1, 5], [2, 2], [3, 3], [4, 1], [5, 4]]
[[1, 5], [2, 2], [3, 3], [4, 4], [5, 1]]
[[1, 5], [2, 2], [3, 4], [4, 1], [5, 3]]
[[1, 5], [2, 2], [3, 4], [4, 3], [5, 1]]
Total 48