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