RE: subsets of a set
- To: mathgroup at smc.vnet.net
- Subject: [mg70041] RE: [mg70001] subsets of a set
- From: "David Park" <djmp at earthlink.net>
- Date: Sun, 1 Oct 2006 04:08:42 -0400 (EDT)
Dimitris, I think you may want... Needs["DiscreteMath`Combinatorica`"] KSubsets[Range[7], 3] {{1, 2, 3}, {1, 2, 4}, {1, 2, 5}, {1, 2, 6}, {1, 2, 7}, {1, 3, 4}, {1, 3, 5}, {1, 3, 6}, {1, 3, 7}, {1, 4, 5}, {1, 4, 6}, {1, 4, 7}, {1, 5, 6}, {1, 5, 7}, {1, 6, 7}, {2, 3, 4}, {2, 3, 5}, {2, 3, 6}, {2, 3, 7}, {2, 4, 5}, {2, 4, 6}, {2, 4, 7}, {2, 5, 6}, {2, 5, 7}, {2, 6, 7}, {3, 4, 5}, {3, 4, 6}, {3, 4, 7}, {3, 5, 6}, {3, 5, 7}, {3, 6, 7}, {4, 5, 6}, {4, 5, 7}, {4, 6, 7}, {5, 6, 7}} David Park djmp at earthlink.net http://home.earthlink.net/~djmp/ From: dimmechan at yahoo.com [mailto:dimmechan at yahoo.com] To: mathgroup at smc.vnet.net In page 226 of John Gray's Mastering Mathematica (unfortunately I had the 1994's edition) there is the following exercise: "Given a finite set (presented as a list) and an integer k find all k-element subsets of the set". There is one solution however for practicing (no there is no professor that asked me this for homeworks! I work individually...) I search for other So considering the following list lst = Tuples[Range[7], 3]; I can erase the sublists containg at least two same elements Cases[lst, {x_, y_, z_} /; x ß? y && x ß? z && y ß? z] but after I cannot erase the permutations of e.g. {1,2,3}; that is in the output there are the sublists {1,2,3}, {2,1,3},{3,1,2} e.t.c. for other triplets. I look for both functional as well pattern matching approaches. Thanks