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); |
> |