Un problema di esempio

Probabilmente, chiedendo il permesso all’editore, potrei postare uno dei problemi del libro per dare un’idea di come sono; ma faccio più in fretta a scriverne uno che alla fine nel libro non è stato inserito; in questo modo non ci sono problemi 🙂 di diritti d’autore e simili… almeno fino a che non pubblicherò un secondo volume di Matematica in relax! (e anche in questo caso rivedrò il testo, e se non lo faccio io lo farà l’editor. Non sembra, ma un bravo editor fa un lavoro davvero utile!)
Eccovi quindi il problema, e il relativo aiutino: dopo il salto potrete trovare soluzione e post scriptum.

Il numero mancante

Se siete come me, siete sicuramente delle persone intelligenti, ma la vostra memoria è normale: o almeno io non riesco certo a tenere a mente cento numeri. Supponete che qualcuno vi pronunci lentamente – diciamo uno ogni cinque-sei secondi – in ordine casuale novantanove dei numeri da 1 a 100, e vi chieda quale sia il mancante. Qual è il sistema più semplice per trovarlo?

Aiutino:

[sei proprio sicuro di volerlo leggere?]
[sicuro sicuro sicuro??]
Cento numeri sono difficili da tenere a mente; ma ricordarne uno è facile, e sommare dei numeri di due cifre non è troppo difficile.

Risposta:
Il sistema più semplice per ricavare il numero mancante è sommare man mano tutti i numeri che ci vengono detti. Se non ne mancasse nessuno, la somma alla fine farebbe 5050, come già sapeva il piccolo Gauss; la differenza con questo valore è il numero che manca. Non serve nemmeno ricordarsi la somma completa; visto che tanto il numero più grande che può mancare è cento, si possono tralasciare le centinaia man mano che si ottengono. Alla fine se il totale ottenuto è minore di 50 si fa la differenza rispetto a 50, altrimenti rispetto a 150; quindi se siamo arrivati a 42 il numero mancante è 8, mentre se siamo arrivati a 77 mancava il 73.

Post Scriptum:
Avete presente quei test che mischiano non so quanti parametri per tirare fuori un unico valore, che dovrebbe racchiudere la Risposta Globale sulla nostra personalità? In realtà sono delle semplificazioni grossolane, perché equiparano cose che non sono per nulla confrontabili. Questo non è però il nostro caso: abbiamo infatti una funzione dei 99 valori iniziali che dà un risultato diverso in qualunque modo i valori siano stati scelti, oltre che essere facile da computare. Oggi che i gigabyte si trovano come noccioline la cosa non è più molto importante, ma qualche decennio fa quando si programmava un computer serviva davvero ottimizzare la memoria oppure il numero di operazioni necessarie. Un classico esempio era scambiare tra loro il contenuto di due variabili (intere, non troppo grandi per non andare in overflow) senza usarne una terza: se i valori sono contenute nei registri a e b, le operazioni da fare sono

a := a+b
b := a-b
a := a-b

Provare per credere!

Leave a Reply

Your email address will not be published. Required fields are marked *