martedì 27 ottobre 2009

Enigma delle noci di cocco



Una decina di anni fa mi hanno proposto questo indovinello:

Tempo fa cinque marinai naufragarono su un'isola. Passarono tutto il giorno a raccogliere noci di cocco, e andarono a dormire. Nella notte uno di loro si alzò e, non fidandosi troppo degli altri, pensò di prendere subito quanto gli spettava. Una scimma curiosa si era avvicinata, e il marinaio le gettò una noce. Le noci rimaste vennero divise in cinque mucchi uguali, senza che avanzasse nulla. Il marinaio prese la sua parte, un quinto giusto, rifece un gran mucchio e tornò a dormire. Gli altri quattro marinai fecero esattamente la stessa cosa, uno dopo l'altro, senza accorgersi di nulla. E ogni volta arrivò la scimmia, cui venne data una noce, proprio come nel primo caso.

Arrivato il mattino i cinque si alzarono e, con incredibile faccia tosta, divisero il mucchio rimasto in cinque parti uguali, ovviamente dopo avere lanciato una noce all'immancabile scimmia.

Domanda: quante erano le noci di cocco (il numero minimo, perché il problema ha infinite soluzioni)?

L'enigma è piuttosto famoso, la soluzione canonica consiste nello scrivere un sistema di 6 equazioni lineari e poi ridurlo attraverso sostituzioni ad una singola equazione diofantea, questa:

1024x - 15625y = 11529

Esiste un'algoritmo per risolverla in maniera iterativa (se vi interessa http://share.dschola.it/helpmat/Divertimenti/divertiamoci1.html ), la leggenda vuole che Paul Adrien Maurice Dirac, il padre dell'antimateria, abbia trovato una soluzione immediata impiegando un numero negativo.

All'epoca avevo trovato una soluzione alternativa e molto più semplice, ho cercato un po' in rete e tuttora non ho trovato nulla a riguardo, quindi ho deciso di pubblicarla qui.

Si può trovare la soluzione minima semplicemente utilizzando le quattro operazioni (tre per essere precisi, la somma non mi serve), basta scrivere tutto in base 5 anziché in base 10. Le tre operazioni sono: diamo una noce alla scimmia, dividiamo per 5 e poi rimettiamo le altre noci al loro posto.

444441 - 1 => 444440 : "5" => 44444*4 = 344441

Notate che ho diviso per "5", ma avrei dovuto scrivere 10. Infatti le cifre vanno solo dallo 0 al 4. Ho lasciato 5 per rendere più chiaro il ragionamento. Al secondo passaggio otteniamo:

344441 - 1 => 344440 : "5" => 34444*4 = 304441

Come potete notare le ultime due cifre sono ancora 41, quindi possiamo iterare ancora. Non voglio ammorbarvi con tutti i calcoli dei successivi 4 passaggi.
Per trasformare la soluzione in base 10 basta eseguire il seguente calcolo:

4*5^5 + 4*5^4 + 4*5^3 + 4*5^2 + 4*5 + 1 = 15621

Con questa notazione è anche facile notare che tutte le possibili soluzioni sommando k*5^(5+j) con k,j > 0 ed interi.

Siccome l'appetito vien mangiando mi sono chiesto per quali numeri è possibile avere una soluzione del genere e con mia sorpresa la risposta è stata tutti!

Infatti per funzionare devo soddisfare questa condizione:

(k-1)*(k-1) = k*(k-2) + 1

Sviluppando si ottiene:

k^2 - 2k + 1 = k^2 -2k +1

Soddisfatta per qualunque k.

C'era una variante dell'indovinello che finiva senza noce di cocco per la scimmia all'ultimo passaggio. Anche quello si può risolvere utilizzando questo metodo. Se vi volete divertire, fate pure.

16 commenti:

Marcello Novelli ha detto...

No, questa proprio non l'ho capita. La descrizione dell'indovinello non mi e' chiara (in particolare la parte riguardante la "incredbile faccia tosta") e poi tu scrivi 444441 (in base 5), che poi e' la soluzione, come premessa. Ma come hai ottenuto questo numero? Che numero avresti scritto se i mariani fossero stati 8 e in quale base?

Alessandro Teruzzi ha detto...

Dal gruppo di noci iniziali (incognita) operano per 6 (5 marinai + una volta alla fine) volte consecutive la seguente operazione.

(noci_iniziali - 1(alla scimmia))/5

le noci restanti sono il risultato dell'operazione precedente moltiplicato 4.

La faccia tosta penso sia dovuta al fatto che tutti erano colpevoli, ma non hanno aperto bocca. Dico penso perche' il testo dell'indovinello l'ho copiato ed incollato.

La soluzione l'ho ricavata cosi'. Ho pensato che in base 5 la divisione e' molto semplice perche' sposta solo lo 0.

Siccome si tratta di numeri interi la prima cifra deve essere sempre 1, perche' dando la noce alla scimmia ho 0 e posso operare una divisione senza resto.

Se giochi un po' con i numeri a disposizione ti accorgi in pochissimo che l'unico modo e' usare il quattro.


Se la pensi in base 10 (per farla semplice) il risultato sara':

99999999991 - 1 = 99999999990 / 10 = 9999999999

9999999999*
9=
__________
8999999991

e cosi' via per 11 volte.

Marcello Novelli ha detto...

Se interessa questa e' la macro excel per risolvere in maniera iterativa.

Public Sub Marinai()
finito = False
numero = 1
Do While finito = False
k = numero
For i = 1 To 5
k = k - 1
k = k / 5
k = k * 4
Next i
k = k - 1
k = k / 5
If k = Int(k) Then
finito = True
Else
numero = numero + 1
End If
Loop
MsgBox numero
End Sub

Marcello Novelli ha detto...

Ah, dimenticavo, veramente ottima l'idea di spostarsi sui numeri in base 5.

Anonimo ha detto...

va oltre ogni mia possibilità di comprensione...

Alessandro Teruzzi ha detto...

Le macro in excel mi hanno sempre affascinato.

Per Boh: Gli uomini non sanno ascoltare, ma hanno altri skills ;-). Mi raccomando donne matematiche non prendetevela, stavo solo scherzando.

Anonimo ha detto...

Una scimmia che prende tangenti?

uno dei marinai per caso si chiamava silvio?

comunque la scimmia verra' processata e condannata per quanto riguarda i marinai vedremo di fare un lodo su misura!!

sig.alf-ANO

Alessandro Teruzzi ha detto...

Anche il mio blog si sta trasformando in un covo di comunisti come il tribunale di milano e la rai!

Christian ha detto...

...però guardando bene ci sono più comunisti qui che nel PD :)

Diego ha detto...

Ma la vera domanda è: cui prodest hoc?
Ovvero: farsi una sega ogni tanto (o meglio, per chi può...) piuttosto, no eh?!?

skelli ha detto...

Eh Diego...perchè tu non sai di quando ha preparato un grafico in excel per confrontare il debito pubblico nei vari governi dal 1994 ad oggi! (ops..ho anticipato qualche post interessante?...mhmhmhm)
Dici che è colpa mia??
Però a volte torno la sera tardi dal lavoro e sono stanca!!!Non ci posso fare niente!

Marcello Novelli ha detto...

Beppe, stai lavorando sull'analisi dei debiti pubblici? Anch'io ho gia' raccolto un po di dati, se vuoi ne parliamo.

Alessandro Teruzzi ha detto...

Sul debito pubblico ero solo un po' curioso, nessun post all'orizzonte per ora. Marcello, se vuoi scriverlo tu il post, sono piu' che felice di ospitarti, comunque se hai link mandameli e una chiacchereta la facciamo di sicuro.

Anonimo ha detto...

Grazie Carlo per la disponibilità.

Ti faccio sapere in settimana se facciamo il 14 o il 21 pomeriggio.

Prima comunque chiedo al culone se lui per uno di questi fine settimana prevede di tornare in Italia.

perché oltre al trasloco torinese il busone londinese mi deve anche una bicicletta. Quindi potrebbe essere la volta buona che si sdebita.

Aspettiamo sue notizie.

Grazie ancora

G

Pietro ha detto...

grazie Alessandro...leggendo il tuo blog (fosse stato scritto in cirillico avrei avuto lo stesso livello di comprensione dell'argomento) mi sono reso conto che tutto quanto mi era stato inculcato nei duri anni al
Poli è stato definitivamente "mondato" ad anni di distanza....Sono un uomo libero!!! :-)

Anonimo ha detto...

Sai che di questo post non ci ho capito ASSOLUTAMENTE nulla?

Saluti al Gigione

Fabio