Application Center - Maplesoft

App Preview:

tous les sous ensembles E d'une réunion d'ensembles A[i] verifiant tt i Cardinal(E intersection A[i])=x[i]

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application


> with(combinat);
 

[Chi, bell, binomial, cartprod, character, choose, composition, conjpart, decodepart, encodepart, fibonacci, firstpart, graycode, inttovec, lastpart, multinomial, nextpart, numbcomb, numbcomp, numbpar...
[Chi, bell, binomial, cartprod, character, choose, composition, conjpart, decodepart, encodepart, fibonacci, firstpart, graycode, inttovec, lastpart, multinomial, nextpart, numbcomb, numbcomp, numbpar...
[Chi, bell, binomial, cartprod, character, choose, composition, conjpart, decodepart, encodepart, fibonacci, firstpart, graycode, inttovec, lastpart, multinomial, nextpart, numbcomb, numbcomp, numbpar...
(1)
 

> truc := proc (l,x) local A, t, B, i, k, m;A:=choose(l[1],x[1]);for t to nops(l)-1 do B := []; for i to nops(A) do s:={op(l[t+1])};for io from 1 to t do s:=s minus {op(l[io])};od;s:=convert(s,list);xx:=x[t+1]-nops({op(l[t+1])} intersect {op(A[i])});if xx>=0 then ll:=choose(s,xx); for k to nops(ll) do m := A[i];m := [op(m), op(ll[k])]; B := [op(B), m];end do;fi;end do; A := B end do; return A end proc;
 

Warning, `s` is implicitly declared local to procedure `truc` (2)
 

Warning, `io` is implicitly declared local to procedure `truc` (2)
 

Warning, `xx` is implicitly declared local to procedure `truc` (2)
 

Warning, `ll` is implicitly declared local to procedure `truc` (2)
 

`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
`assign`(truc, proc (l, x) local A, t, B, i, k, m, s, io, xx, ll; `assign`(A, combinat:-choose(l[1], x[1])); for t to `+`(nops(l), `-`(1)) do `assign`(B, []); for i to nops(A) do `assign`(s, {op(l[`+`...
(2)
 

> truc([[1,2,3], [2,3,4]],[2,1]);
 

[[1, 2], [1, 3]] (3)
 

   
 

   
 

> truc([[1,2,3],[2,3,4],[3,4,5]],[2,1,1]);
 

[[1, 2, 5], [1, 3]] (4)
 

> #truc(l,x) donne tous les ensembles E inclus dans la r?union des l[i],tel que pour tout   1<=i<=nops(l), Cardinal( E intersection l[i] )=x[i]. #
 

> #exemple: on a un jeu de cartes avec les coeurs=[{c,r},{c,1},{c,2}],et les rois=[{r,c},{r,t},{r,p}] . Et on veut avoir un ensemble de cartes avec 2 coeurs et 1 roi.#
 

> #l'ensemble de tous les ensembles de cartes avec 2 coeurs et 1 roi est: #
 

> R:=truc([[{c,r},{c,1},{c,2}],[{r,c},{r,t},{r,p}]],[2,1]);
 

`assign`(R, [[{c, r}, {1, c}], [{c, r}, {2, c}], [{1, c}, {2, c}, {r, t}], [{1, c}, {2, c}, {p, r}]]) (5)
 

>