OII 2004-11-18 – 1

Mario ha 83 macchinine che deve riporre in sacchetti.
La suddivisione in sacchetti deve essere fatta in modo tale che quando i compagni di gioco di Mario gli chiederanno un numero qualsiasi di macchinine (compreso fra 1 e 83), Mario sarà in grado di consegnare il numero giusto di macchinine porgendo un certo numero di sacchetti senza aprirli per modificarne il contenuto.

Quale è il numero minimo di sacchetti che Mario deve usare per riporre le sue macchinine?

Risposte:

  1. 7
  2. 8
  3. 21
  4. nessuna delle precedenti.

Soluzione: a.


Soluzione

Possiamo fare riferimento alla rappresentazione binaria dei numeri da 1 a 63: con 6 sacchetti possiamo coprire qualsiasi numero da 1 a 63 (1+2+4+8+16+32=63).
Ad esempio, nel caso in cui volessimo consegnare 10 macchinine, useremmo un sacchetto da 8 e un sacchetto da 2.

Per i numeri n compresi fra 64 e 83 possiamo procedere così: riempiamo un ulteriore sacchetto con le restanti 20.
La differenza n-20 sarà compresa tra 1 e 63 e la copriamo con il metodo precedentemente indicato.
In questo modo potremo avere una soluzione per tutti i casi possibili.