Combinações com repetição
Combinações com repetição de n elementos 5 a 5 = C(n+5-1,5) = C(n+4,5)
| > | alg:=proc(n::integer) |
| > | local k,i1,i2,i3,i4,i5; |
| > | k := 0; |
| > | for i1 from 1 to n do |
| > | for i2 from 1 to i1 do |
| > | for i3 from 1 to i2 do |
| > | for i4 from 1 to i3 do |
| > | for i5 from 1 to i4 do |
| > | k := k+1; |
| > | od; |
| > | od; |
| > | od; |
| > | od; |
| > | od; |
| > | RETURN(k); |
| > | end; |
| > | alg(10); alg(5); |
| > | binomial(10+4,5); binomial(5+4,5); |
| > | combinat[multinomial](11,1,4,4,2); |
| > | combinat[multinomial](11,1,4,4,3); |
Error, (in combinat/multinom) 1st argument must equal the sum of the others
| > | for n from 1 to 4 do |
| > | sort(expand((x + y + z)^n)); |
| > | od; |
| > | combinat[multinomial](4,0,0,4);combinat[multinomial](4,0,1,3);combinat[multinomial](4,0,2,2);combinat[multinomial](4,1,1,2); |
A instrução i $ r significa "repete i r vezes"; 1 $ 3 significa "1 1 1"
| > | with(combinat); |
| > | rCombRepete := proc(n::posint, r::posint) |
| > | local repetelista, i; |
| > | repetelista := [seq(i $ r,i=1..n)]; |
| > | choose(repetelista,r); |
| > | end: |
| > |
Warning, the protected name Chi has been redefined and unprotected
| > | rCombRepete(3,2); |
| > | rCombRepete(4,3); |
| > |