[HOME - BASE Cinque - Appunti di Matematica ricreativa]
1. Dividere 30 botti in tre parti uguali
Un padre vuole dividere 30 botti di vino in parti
uguali fra i suoi 3 figli.
Le 30 botti sono identiche ma 10 di esse sono piene, 10 sono
piene a metà e le ultime 10 sono vuote.
I tre figli devono ricevere la stessa quantità di vino e lo
stesso numero di botti.
Inoltre le botti non devono essere aperte.
Alcuino di York, 900, Propositio de
quodam patrefamilias et tribus filius ejus.
2. Dividere 4 damigiane in 4 parti uguali, con
travasi
Quattro damigiane identiche contengono
rispettivamente 10, 20, 30, 40 litri di vino. Devono essere
suddivise fra 4 persone in modo che ciascuna persona riceva
una damigiana e la stessa quantità di vino.
Si deve effettuare il minor numero possibile di travasi.
Alcuino di York, 900, Proposito de
vino in vasculis a quodam patre distributo.
3. Dividere 9 damigiane in 3 parti uguali, senza
travasi
Si dividano 9 damigiane identiche contenenti
rispettivamente 1, 2, 3, 4, 5, 6, 7, 8, 9 litri di vino fra
tre persone, senza effettuare travasi, in modo che ciascuna
persona riceva 3 damigiane e la stessa quantità di vino.
Quante soluzioni esistono?
Abbot Albert, 1240
Sistemando le soluzioni in colonne si ottiene
un quadrato semimagico!
4. Altri esempi di divisioni di recipienti
Nei seguenti esempi utilizzerò la notazione:
(x, y, z) fra n per indicare la suddivisione di x recipienti
pieni, y pieni a metà e z vuoti, fra n persone.
Come nei problemi precedenti, ciascuna persona deve ricevere
lo stesso numero di recipienti e la stessa quantità di
contenuto.
(7, 7, 7) fra 3
Tartaglia. General Trattato, 1556
(9, 9, 9) fra 3
Tartaglia. General Trattato, 1556
(8, 8, 8) among 4
Bachet. Problemes, 2nd ed., 1624.
(5, 8, 11) fra 3
5. Dividere 3n recipienti fra 3 persone
Esiste una soluzione generale per (n, n, n) fra 3?
6. Divisioni di recipienti e triangoli
Si dimostri che il numero di modi in cui è
possibile dividere (x, x, x) fra 3 è lo stesso del numero di
triangoli di perimetro x.
David Singmaster, 1990
Riporto la versione
originale di David Singmaster.
Triangles with integer sides and sharing barrels, 1990.
Shows the number of ways of sharing (N, N, N) among 3 is the
same as the number of integer sided triangles of perimeter N.
Shows this is the the number of partitions of N/2 or (N-3)/2
into 3 parts.
Finds necessary and sufficient conditions for sharing (a, b,
c) among k people.
Un particolare ringraziamento a Roberto Doniez per avermi inviato il seguente problema.
7. Quante soluzioni ha questo problema?
Si devono dividere 45 botti di vino in parti uguali
fra 5 persone.
Le botti sono uguali per forma e dimensioni. Il contenuto di
vino, invece, è così distribuito:
9 botti piene
9 botti piene per 3/4
9 botti piene a metà
9 botti piene per 1/4
9 botti vuote
Come saranno suddivise fra i 5 persone?
La domanda più interessante è: quante soluzioni ha questo
problema?
Kraitchik, Mathematical Recreations, 1942
1. Dividere 30 botti in tre parti uguali
Grazie a Gabriele Brosulo
per la soluzione.
Basta distribuire, per 5 volte, ai tre fratelli A, B, C:
A: 1 botte piena ed 1 botte vuota.
B: 1 botte piena ed 1 botte vuota.
C: 2 botti mezze piene.
Grazie a Dino e Ivana
Niccolai per la soluzione
In questo modo ad ogni "turno" ognuno dei
fratelli riceve la stessa quantità di vino e di botti.
Le 10 botti piene e le 10 botti semipiene sono esattamente
equivalenti a 30 botti semipiene.
Ogni figlio deve prendere 10 botti semipiene.
Si presentano sei casi possibili, che si equivalgono:
0 botti piene e 10 botti semipiene
1 botte piena e 8 botti semipiene
2 botti piene e 6 botti semipiene
3 botti piene e 4 botti semipiene
4 botti piene e 2 botti semipiene
5 botti piene e 0 botti semipiene
Poiché ogni figlio deve prendere 10 botti (piene, semipiene,
oppure vuote) sono possibili cinque modalità di equa
suddivisione del vino e delle botti:
Primo modo:
Uno dei tre figli prende: 1 botte piena, 8 botti semipiene e
1 botte vuota
Il secondo figlio prende: 4 botti piene, 2 botti semipiene e
4 botti vuote
Il terzo figlio prende: 5 botti piene, 0 botti semipiene e 5
botti vuote.
Secondo modo:
Uno dei tre figli prende: 2 botti piene, 6 botti semipiene e
2 botti vuote
Il secondo figlio prende: 3 botti piene, 4 botti semipiene e
3 botti vuote
Il terzo figlio prende: 5 botti piene, 0 botti semipiene e 5
botti vuote.
Terzo modo
Uno dei tre figli prende: 3 botti piene, 4 botti semipiene e
3 botti vuote
Il secondo figlio prende: 3 botti piene, 4 botti semipiene e
3 botti vuote
Il terzo figlio prende: 4 botti piene, 2 botti semipiene e 4
botti vuote
Quarto modo
Uno dei tre figli prende: 4 botti piene, 2 botti semipiene e
4 botti vuote
Il secondo figlio prende: 4 botti piene, 2 botti semipiene e
4 botti vuote
Il terzo figlio prende: 2 botti piene, 6 botti semipiene e 2
botti vuote
Quinto modo
Uno dei tre figli prende: 5 botti piene, 0 botti semipiene e
5 botti vuote
Il secondo figlio prende: 5 botti piene, 0 botti semipiene e
5 botti vuote
Il terzo figlio prende: 0 botti piene, 10 botti semipiene e 0
botti vuote.
Per ognuna delle prime due modalità descritte i tre figli
possono dividersi le botti in 6 modi diversi
Per ognuna delle ultime tre modalità descritte i tre figli
possono dividersi le botti in tre modi diversi
2. Dividere 4 damigiane in 4 parti uguali, con
travasi
Grazie a Ivan D. per
la soluzione.
Dato che la quantità di vino totale è
100 l allora ognuna delle quattro persone dovrà avere una
damigiana con 25 l.
Poichè due damigiane contengono più di 25 l, il numero
minimo di travasi è 2: ovvero si devono travasare 15 l
da quella da 40 l in quella da 10 l e 5 l da quella di
30 l in quella di 20 l. Così facendo ogni damigiana
conterrà 25 l.
3. Dividere 9 damigiane in 3 parti uguali, senza
travasi
Grazie a Ivan D. per
la soluzione.
Questo gioco in verità è
simile a quello famoso del quadrato magico, con qualche
vincolo in più.
E' facile dedurre che ogni persona dovrà avere 15l (1+2+3+4+5+6+7+8+9=45;
45/3=15).
E questo ci fa avvicinare al quadrato magico. Però la
differenza è che in questo caso i numeri (le damigiane) non
possono essere riutilizzati per generare una nuova
combinazione. Quindi le possibili soluzioni si riducono a due:
[(9.5.1), (8.4.3), (2.7.6)] e [(9.2.4), (8.1.6), (3.5.7)].
Si dimostra in questo modo.
Considerando un numero qualunque, ad esempio 9, per ottenere
15 in tre numeri con le damigiane disponibili si
dovrebbe avere
a) 9+1+5
b) 9+2+4
c) 9+3+3.
L'ultima è da escludere perchè si utilizza due volte 3.
Ora analizziamo i numeri rimasti nei due casi:
caso a) 2-3-4-6-7-8
Consideriamo 8: le possibili somme che danno 15:
a') 8+1+6
a'') 8+2+5
a''') 8+3+4.
Può esistere solo a''') 8+3+4 poichè nelle altre sono
presenti 1 e 5, già utilizzati.
In questo caso la soluzione è [(9.5.1), (8.4.3), (2.7.6)].
caso b)1-3-5-6-7-8
Consideriamo 8: le possibili somme che danno 15:
b') 8+1+6
b'') 8+2+5
b''') 8+3+4
Può esistere solo b') 8+1+6 pochè nelle altre sono presenti
2 e 4 già utilizzati. In questo caso la soluzione è [(9.2.4),
(8.1.6), (3.5.7)].
4. Altri esempi di divisioni di recipienti
Grazie a Ivan D. per
la soluzione.
(7, 7, 7) fra 3
(3,1,3), (3,1,3), (1,5,1)
(9, 9, 9) fra 3
(3,3,3), (3,3,3), (3,3,3)
(8, 8, 8) fra 4
(2,2,2), (2,2,2), (2,2,2), (2,2,2)
(5, 8, 11) fra 3
(2,2,4), (2,2,4), (1,4,3)
Roberto Soro Doniez ci invia le tre soluzioni dell'ultimo problema. Le soluzioni sono visualizzate in modo particolarmente efficace utilizzando dei simboli appropriati.
Si devono suddividere 5+8+11 = 24 botti (8 per ciascun
figlio)
Si devono suddividere 5*1 + 8*1/2)+ 11*0 = 9 unità di volume
(3 per ciascun figlio)
Simboli utilizzati:
(botte piena)
(botte piena a
metà)
(botte vuota)
F1, F2, F3 (figlio 1, 2, 3)
La tabella qui sotto illustra come vengono ripartite le
botti tra i figli.
Si assegnano dapprima le botti piene, poi quelle piene a metà
ed infine quelle vuote.
Le bottiglie piene indicano come completare l'assegnazione.
Prima soluzione F1 : F2 : F3 : Tipo: 3, 2, 0 |
Seconda soluzione F1 : F2 : F3 : Tipo: 3, 1, 1 |
Terza soluzione F1 : F2 : F3 : Tipo: 2, 2, 1 |
5. Dividere 3n recipienti fra 3 persone
Un particolare ringraziamento a Giorgio
Tumelero per la sua preziosissima risoluzione.
Se la quantità di liquido è 1 nel
recipiente pieno, 1/2 nel recipiente mezzo pieno, zero nel
recipiente vuoto, in totale avremo una quantità n + n/2 = 3n/2
di liquido. Dovendo dividerla fra tre persone, allora ognuno
riceverà n/2, cioè, chiamando 1, 2, 3 le persone e xi,
yi, zi il numero di recipienti
rispettivamente pieni, mezzo pieni, vuoti, assegnati alle
persone i = 1, 2, 3, abbiamo:
xi + yi/2 + 0*zi = n/2 (per
i = 1, 2, 3).
Per semplicità di scrittura moltiplichiamo per 2 ambo i
membri, ottenendo:
(1) 2*xi + 1*yi + 0*zi = n (per i = 1, 2, 3)
Inoltre abbiamo i vincoli:
(v1) x1
+ x2 + x3 = n
(v2) y1 + y2
+ y3 = n
(v3) z1 + z2
+ z3 = n
(vv1) x1
+ y1 + z1 = n
(vv2) x2 + y2
+ z2 = n
(vv3) x3 + y3
+ z3 = n
Supponiamo ora di sapere per un certo
valore di i, p. es. i=1, che sia x1=a e y1=b,
quanto vale z1?
Dalla (1), sostituendo, abbiamo che
2a + b = n
mentre da (vv1), sostituendo, sappiamo che
n = a + b + z1
ovvero:
2a + b = a + b + z1
2a + b - a - b = z1
z1 = a
Quindi, qualunque siano i valori di xi e yi,
sarà sempre zi=xi.
Dalla (1) ricaviamo anche dei limiti superiori e inferiori
delle incognite, che sono:
per n pari
max xi = n/2; min xi =
0
max yi = n; min yi = 0
per n dispari
max xi = (n-1)/2; min xi = 1
max yi = n-2; min yi = 1
A questo punto, dato n, non resta che trovare tutte le possibili partizioni, più le formule che ci dicono quante sono. Facciamolo con un esempio numerico. Sia n=10, prendiamo x1 = max xi = 5, x2 = max xi = 5, con i quali abbiamo il sistema di equazioni (1):
2*5 + 1*0 + 0*5 = 2*5 + 1*0 + 0*5 = 2*0 + 1*10 + 0*0 = 10
e per i vincoli:
5 + 0 + 5
= 10 (vv1)
+ + +
5 + 0 + 5 = 10 (vv2)
+ + +
0 + 10 + 0 = 10 (vv3)
= = =
10 10 10
(v1) (v2) (v3)
Per abbreviare, usando le terne (x1,
x2, x3), chiamiamo (5, 5, 0) questa
prima soluzione. Tenendo fisso x1=5 diminuiamo
sempre di uno x2 (e di conseguenza aumentiamo
sempre di uno x3, ottenendo in tutto:
(5, 5, 0), (5, 4, 1), (5, 3, 2), (5, 2, 3), (5, 1, 4), (5, 0,
5)
Abbassiamo di uno x1 e ripetiamo il procedimento,
otteniamo:
(4, 5, 1), (4, 4, 2), (4, 3, 3), (4, 2, 4), (4, 1, 5)
Abbassiamo di uno x1, continuando più volte
otteniamo:
(3, 5, 2), (3, 4, 3), (3, 3, 4), (3, 2, 5)
(2, 5, 3), (2, 4, 4), (2, 3, 5)
(1, 5, 4), (1, 4, 5)
(0, 5, 5)
In totale 6 + 5 + 4 + 3 + 2 + 1 = 6*7/2 = 21
Quindi, dato n, le partizioni P sono:
(2) P = (max xi- min xi + 1)(max xi - min xi + 2)/2
Questo se le persone tra cui si dividono i recipienti si intendono distinte.
Se, invece, si vogliono trovare solo le
partizioni distinte, indifferentemente dalle persone, allora,
per esempio, le tre partizioni (5, 5, 0), (5, 0, 5) e (0, 5,
5) valgono per una, che in linguaggio normale sarebbe
definita come: "Due persone (qualsiasi) prendono cinque
recipienti pieni, l'altra persona prende nessun recipiente (pieno)".
In tal caso, sempre con n=10, usando come criterio di
ordinamento la regola x1>=x2>=x3 e con lo stesso
procedimento di prima avremmo:
(5, 5, 0), (5, 4, 1), (5, 3, 2)
(4, 4, 2), (4, 3, 3)
Ci sono ora due formule per calcolare il numero P di
partizioni distinte; denotando [a/b] la parte intera di a/b
abbiamo:
P1 = (k + 1)(k + 2)/2 - Sommatoria(k
+ 2 - 3j)
per j che va da 1 a [(k + 1)/3]
con Sommatoria(k + 2 - 3j)=0 per [(k + 1)/3]<1
se n = (4k + 2) oppure n = (4k + 5)
P2 = (k + 1)(k + 2)/2 - Sommatoria(k
+ 3 - 3j)
per j che va da 1 a [(k + 2)/3]
con Sommatoria(k + 3 - 3j)=0 per [(k + 2)/3]<1
se n = (4k + 3) oppure n = 4k
6. Divisioni di recipienti e triangoli
???
7. Quante soluzioni ha questo problema?
Per rispondere alla domanda ho scritto un piccolo
programma in BASIC. Questa è la risposta che mi ha dato il
computer. E' divisa in due parti.
Prima parte.
Trovare tutte le combinazioni di 9 botti (pipas) che
contengano in totale 4.5 botti di vino e che contengano
ALMENO una botte di ciascun tipo. Infatti le botti sono in
tutto 45 e il vino è in tutto 90/4 di botte.
Perciò ad ogni figlio toccheranno 45/5 = 9 botti e (90/4)/5
= 9/2 = 4.5 unità di vino In tutto ci sono 8 CASI
rappresentati nella seguente tabella.
1 - 1 1 5 1 1 9 4.5
2 - 1 2 3 2 1 9 4.5
3 - 1 3 1 3 1 9 4.5
4 - 1 3 2 1 2 9 4.5
5 - 2 1 2 3 1 9 4.5
6 - 2 1 3 1 2 9 4.5
7 - 2 2 1 2 2 9 4.5
8 - 3 1 1 1 3 9 4.5
Le colonne sono:
1° colonna = numero progressivo del CASO
2° colonna = numero di botti piene
3° colonna = numero di botti piene a 3/4
4° colonna = numero di botti piene a 1/2
5° colonna = numero di botti piene a 1/4
6° colonna = numero di botti vuote
7° colonna = totale botti, serve a controllare che siano
sempre 9
8° colonna = totale di vino, serve a controllare che sia
sempre 4.5
Seconda parte.
Trovare le possibili suddivisioni tra i figli. Si
tratta di cercare, tra gli 8 CASI trovati nella prima
parte tutti quei GRUPPI DI 5 che soddisfano il problema, cioè
che utilizzano correttamente le 45 botti. In pratica, la
somma di ogni colonna, come pure di ogni riga, deve dare 9
botti. Il computer ha trovato 3 soluzioni.
Ogni riga rappresenta ciò che deve ricevere un figlio.
Le colonne sono:
1° colonna = numero del CASO trovato nella prima parte
2° colonna = numero di botti piene
3° colonna = numero di botti piene a 3/4
4° colonna = numero di botti piene a 1/2
5° colonna = numero di botti piene a 1/4
6° colonna = numero di botti vuote
Soluzione n. 1
-------------------
2 - 1 2 3 2 1
3 - 1 3 1 3 1
6 - 2 1 3 1 2
7 - 2 2 1 2 2
8 - 3 1 1 1 3
--------
Soluzione n. 2
-------------------
2 - 1 2 3 2 1
4 - 1 3 2 1 2
5 - 2 1 2 3 1
7 - 2 2 1 2 2
8 - 3 1 1 1 3
--------
Soluzione n. 3
-------------------
3 - 1 3 1 3 1
4 - 1 3 2 1 2
5 - 2 1 2 3 1
6 - 2 1 3 1 2
8 - 3 1 1 1 3
--------
Mi sembra che queste soluzioni siano tutte diverse. Molte
persone non gradiscono le soluzioni trovate con il computer
perché lo ritengono "FORZA BRUTA". Preferiscono la
raffinatezza del ragionamento matematico. Anch'io la penso
così però mi piace anche lavorare con il computer.
Un linguaggio di programmazione è un linguaggio logico-matematico
formale in piena regola. Perciò qualunque dimostrazione
fatta con un linguaggio di programmazione è matematicamente
valida. Naturalmente il programma deve essere fatto bene,
l'interprete del linguaggio deve essere perfetto e il
comportamento del computer deve essere stabile. Tutte cose
difficili da verificare!
Una piccola nota: il problema chiede anche "que nenhum
deles recebesse o mesmo número de todos os tipos de pipas".
Non esiste nessuna soluzione di questo tipo. Ma non so se ho
capito bene questa condizione: "nessuno dei figli deve
ricevere lo stesso numero di tutti i tipi di botte".
Ciascuno deve ricevere 9 botti e i tipi diversi di botte sono
5. Siccome 9 non è divisibile per 5 nessuno può ricevere lo
stesso numero di tutti i tipi di botte.
Ecco il programma che ho utilizzato.
Amo il linguaggio BASIC e quando scrivo i miei
semplici programmi mi piace anche vedere come si presentano
dal punto di vista grafico ed estetico.
!'----------------
DIM combi(100,5)
DIM tot(9)
LET cont = 0
FOR i = 1 TO 9
FOR j = 1 TO 9
FOR k = 1 TO 9
FOR l = 1 TO
9
FOR m = 1 TO 9
LET c = i+j*3/4+k*2/4+l*1/4
LET nv = i+j+k+l+m
IF c = 9/2 AND nv = 9 THEN
LET cont = cont+1
LET combi(cont,1) = i
LET combi(cont,2) = j
LET combi(cont,3) = k
LET combi(cont,4) = l
LET combi(cont,5) = m
PRINT cont;"-";i;j;k;l;m;nv;c
END IF
NEXT m
NEXT l
NEXT k
NEXT j
NEXT i PRINT
"Fine prima parte"
!'---------------------
LET nsol=0
FOR i = 1 TO cont
FOR j = i+1 TO cont
FOR k = j+1 TO cont
FOR l = k+1
TO cont
FOR m = l+1 TO cont
FOR u = 1 TO 5
LET tot(u) = combi(i,u)+ combi(j,u)+ combi(k,u)+ combi(l,u)+
combi(m,u)
NEXT u
LET buono = 1
FOR u = 1 TO 5
IF tot(u) <> 9 THEN
LET buono = 0
EXIT FOR
END IF
NEXT u
IF buono = 1 THEN
LET nsol=nsol+1
PRINT "Soluzione n.";nsol;"-------------------"
PRINT i;"-";
FOR u = 1 TO 5
print combi(i,u);
NEXT u
PRINT
PRINT j;"-";
FOR u = 1 TO 5
PRINT combi(j,u);
NEXT u
PRINT
PRINT k;"-";
FOR u = 1 TO 5
PRINT combi(k,u);
NEXT u
PRINT
PRINT l;"-";
FOR u = 1 TO 5
PRINT combi(l,u);
NEXT u
PRINT
PRINT m;"-";
FOR u = 1 TO 5
PRINT combi(m,u);
NEXT u
print
PRINT "--------"
END IF
NEXT m
NEXT l
NEXT k
NEXT j
NEXT i
PRINT "Fine
seconda parte"
!'---------------------
END
Ringrazio il prof.
Roberto Doniez per la seguente risoluzione del problema. 1. Se trata de asignar 45 pipas entre 5 sobrinos: entonces a cada uno de ellos les corresponderá 9 pipas. 2. De las pipas hay : 9 llenas, 9 ¾ llenas, 9 medias, 9 ¼ llenas y también 9 vacías. Entonces el total de vino a repartir es: 22, 5 volúmenes y por lo tanto le corresponde 4,5 volúmenes a cada sobrino. 3. Entonces a cada sobrino le corresponden 9 pipas y 4,5 volúmenes. 4. Puesto que deben repartirse 4,5 volúmenes a cada uno de los sobrinos, existen sólo 5 casos para la asignación de las pipas del tipo ¾ llenas y ¼ llenas (que se me ocurrió pensarlas como un bloque), a saber:
5. Tabla fundamental de casos:
Nota: el contenido de esta tabla coincide exactamente con el material que tu me enviaste y que como se ve tiene 8 casos. Observaciones a partir de ella: 1. Es claro que cada solución al problema pasará por escoger 5 filas de esta tabla. 2. Pero observando bien se descubren dos cosas: que cualquiera sea la solución siempre está la primera fila, de otra manera alguno de los sobrinos o tiene más de 9 pipas o menos de 9 pipas. 3. También es claro que la última fila una vez aceptada causa problemas de imposibilidad. Luego en ninguna solución aparecerá la última fila. 4. Esto significa que de la ocho posibilidades sólo hay siete (la última desaparece como posible) y la primera siempre está. La combinatoria por lo tanto no es tan tremenda y se reduce en principio a tres modos:
5. Cada una de la filas restantes puede escogerse dentro de 4 alternativas y esto da 6 posibilidades, de ellas sólo una sirve, a saber:
6. Finalmente se descubre que sólo hay tres soluciones al problema (esto coincide con lo que me enviaste hace ya un buen tiempo). Espero que el desarrollo sea tan claro como supongo. |
Ringrazio
Oldfriend per il codice in Decimal Basic. Purtroppo nel copia&incolla si è persa l'indentazione. !'Ci
sono 45 botti di cui 9 piene, 9 a 2/3, 9 a metà, |
Sito Web realizzato da Gianfranco Bo