'Le combinazioni rispondono a questa domanda:
'In quanti modi posso scegliere k elementi da un insieme di n elementi, senza ordine e senza ripetizione?
'
'Esempio classico:
'"Quanti gruppi da 3 persone posso formare con 8 persone?"
'Qui l'ordine non conta:
'il gruppo (A,B,C) è lo stesso di (C,B,A).
'---------------------------------------------------------------
' Calcola le combinazioni C(n, k) come float
function Comb(n as int, k as int) as double
int i, kk
double num = 1.0
double den = 1.0
' Symmetry: C(n,k) = C(n,n-k)
kk = k
if kk > n - kk then kk = n - kk
if kk < 0 or kk > n then
return 0
elseif kk = 0 or kk = n then
return 1
end if
for i = 1 to kk
num *= (n - kk + i)
den *= i
next
return num / den
end function
'nel caso ci sono 3 palline rosse in un gruppo di 8 palline
'la probabilità che si riesca a pescare 3 palline tutte rosse
'viene calcolata
float num, den
num=Comb(3, 3) 'c'è un solo modo per prendere tutte e 3 rosse
den=Comb(8, 3) ' 56 è il numero delle cominazione totali a 3 a 3
double p = num/den * 100
print "P(all red) = " p
Quote8 snooker balls are contained in a bag. Only 3 balls are colored red. What is the probability that when you randomly pick 3 balls out of the bag, they are all red?
Page created in 0.108 seconds with 8 queries.