Il codice per aprire un lucchetto è costituito da una sequenza di quattro cifre (da 0 a 9). Ho
dimenticato il codice, ma mi ricordo che le cifre sono tutte distinte e che tra le prime tre
cifre ci sono sicuramente i numeri 6 e 9. Quante sequenze di quattro cifre dovrei provare
per essere certo di aprire il lucchetto?
(A) 100
(B) 118
(C) 336
(D) 600
Se non mi ricordassi nulla dovrei fare 104 = 10 mila tentativi. Per fortuna qualcosa mi ricordo. Ma i tentativi da fare sono comunque molti. Vediamo quanti sono.
Vediamo prima come si puņ procedere scegliendo tra le soluzioni proposte.
L'ultima cifra ha solo 7 possibilità: 6 e 9 sono sicuramente tra le prime
tre cifre e poi c'e nè un'altra. L'unico numero divisibile per 7 tra quelli
proposti è 336.
Vediamo anche un modo per trovare direttamente la risposta:
per l'ultima cifra ho 7 possibilità, per una delle altre tre ne ho 8, questa
cifra può collocarsi i 3 posti, per gli altri due posti possono prendere
uno tra 2 numeri: le possibili combinazioni sono 7·8·3·2
= 56·6 = 336
Vediamo come controllare/affrontare lo studio sperimentalmente. Utilizziamo un semplice programmino in JavaScript (software incorporato in tutti i browser.
Vai qui: http://macosa.dima.unige.it/js/js.htm, clicca
"macosa.dima.unige.it/js.com" e metti nella finestra in alto:
<pre><script> with(Math) { n=0; for(a=0;a<10;a=a+1) { for(b=0;b<10;b=b+1) { for(c=0;c<10;c=c+1) { for(d=0;d<10;d=d+1) { if(( !(a==b||a==c||a==d||b==c||b==d||c==d)) && !(a!=6 && b!=6 && c!=6) && (!(a!=9 && b!=9 && c!=9))) n=n+1 }}}}; document.write (n) } </script></pre>
336
# Possiamo verificare la cosa anche con R (vedi): n=0; for(a in 0:9) for(b in 0:9) for(c in 0:9) for(d in 0:9) if(!(a==b | a==c | a==d | b==c | b==d | c==d)) if(!(a!=6 & b!=6 & c!=6)) if(!(a!=9 & b!=9 & c!=9)) n=n+1; n # 336 OK!