Due sacchetti contengono, ciascuno, i numeri 1, 2, 3, 4, 5, 6, 7. Si estrae un numero da ciascuno dei due. La probabilità che il loro prodotto sia dispari è

A)  9/49     B)  16/49     C)  4/7     D)  33/49

Vediamo prima come si può scegliere la risposta (se si può utilizzare un computer) ricorrendo ad una simulazione.
Calcolati (ad esempio con questa calcolatrice):
A) 9*100/49 = 18.367346...,   B) 16*100/49 = 32.653061...   C) 4*100/7 = 57.142857...   D) 33*100/49 = 67.346938...,
tenendo conto che M·N è dispari se è maggiore della parte intera della sua metà, posso simulare il fenomeno con un programmino in JavaScript, software che è incorporato in tutti i browser. Basta andare qui: http://macosa.dima.unige.it/js/js.htm (puoi vedere anche qui), cliccare "macosa.dima.unige.it/js.com" e mettere nella finestra in alto:

<pre><script> with(Math) {
n=1e3; x=0; for(i=0; i<n; i=i+1)
   { M=floor(random()*7+1); N=floor(random()*7+1); s=0; if(M*N > floor(M*N/2)*2) s=1; x=x+s}
document.writeln ("n=",n,"  fr = ", x/n*100,"%")
n=n*10; x=0; for(i=0; i<n; i=i+1)
   { M=floor(random()*7+1); N=floor(random()*7+1); s=0; if(M*N > floor(M*N/2)*2) s=1; x=x+s}
document.writeln ("n=",n,"  fr = ", x/n*100,"%")
n=n*10; x=0; for(i=0; i<n; i=i+1)
   { M=floor(random()*7+1); N=floor(random()*7+1); s=0; if(M*N > floor(M*N/2)*2) s=1; x=x+s}
document.writeln ("n=",n,"  fr = ", x/n*100,"%")
} </script></pre>

per ottenere:
n=1000  fr = 30.7%
n=10000  fr = 32.36%
n=100000  fr = 32.634%

Si potrebbe procedere con un numero "n" di prove maggiore, ma questo basta per concludere che la risposta OK è B: 16/49 = 32.6...%

Vediamo come arrivarci direttamente, o come giustificare la risposta trovata sperimentalmente. È semplice. Il prodotto delle uscite è dispari se entrambe sono dispari:  4/7·4/7 = 16/49.

Per altri commenti: dipendenza e indipendenza neGli Oggetti Matematici.

Si poteva anche impiegare questo semplice script modificando TruthValue nel modo seguente.

function TruthValue()
{ with(Math) {

C1=floor(random()*7+1); C2=floor(random()*7+1);
V=0; if(C1*C2 > floor(C1*C2/2)*2) {V=1}

}}

n=3200000 32.64215625% +/- 0.07863752588422668%
n=1600000 32.57825% +/- 0.11115404850268612%
n=800000 32.667875% +/- 0.1573070315194204%
n=400000 32.68825% +/- 0.22250156917640934%
n=200000 32.631% +/- 0.3145231269382061%
n=100000 32.609% +/- 0.4447266109955478%

Ecco come realizzare la simulazione con R:

# Metto in x e in y n uscite prese equiprobabilmente tra 1 e 7:
n <- 1e6; x <- sample(1:7,n,replace=TRUE); y <- sample(1:7,n,replace=TRUE)
# Quante volte il prodotto di esse è dispari, ossia la sua metà non è intera?
k <- 0; for(i in 1:n) if( x[i]*y[i]/2 != floor(x[i]*y[i]/2) ) k <- k+1; k/n
# 0.326661
c(9/49, 16/49, 4/7, 33/49)
# 0.1836735 0.3265306 0.5714286 0.6734694