| > | with(combinat); |
Warning, the protected name Chi has been redefined and unprotected
| > | p := proc(n::integer) |
| > | p(n) := evalf(1-(numbperm(365,n) / 365^n)); |
| > | end; |
| > | for n from 2 to 30 do |
| > | `n`, p(n); |
| > | od; |
| > | Aniversarios := proc(percentagem::float) |
| > | local num_pessoas, prob; |
| > | # Inicializa |
| > | prob := 0; num_pessoas := 0; |
| > | # Efectua ciclo até ao número suficiente de pessoas |
| > | while prob < percentagem do |
| > | num_pessoas := num_pessoas +1; |
| > | prob := 1-(numbperm(365,num_pessoas) / 365^num_pessoas); |
| > | od; |
| > | RETURN(num_pessoas); |
| > | end; |
Gráfico
| > | with(plots); |
Warning, the name changecoords has been redefined
| > | for i from 1 to 9 do |
| > | n[i]:=Aniversarios(i*.11); |
| > | od; |
| > | pointplot({seq([j*.11,n[j]],j=1..9)},symbol=circle,symbolsize=12,color=red,axes=boxed,title=`Problema dos aniversários`); |
| > |
| > | Aniversarios(.5); |
| > | Aniversarios(.99); |