902, 913, 924, 935, 946, 957, 968, 979, 990
Il massimo palindromo che cerchiamo inizia con la stessa cifra con cui finisce, quindi dovremmo cercare un numero che inizia e quindi finisce per 9. Questo esclude tutti i multipli di 11 che sono anche pari e tutti quelli che sono divisibili per 5. Dall'elenco di cui sopra restano allora: 913, 957, 979.A questo punto, decidendo che stiamo cercando il moltiplicatore massimo, e che quindi la cifra delle centinaia è un 9 anche per il secondo moltiplicatore, facciamo alcune ulteriori considerazioni, ognuna per ogni numero considerato:
- se il primo moltiplicatore è 913, il secondo deve necessariamente finire per 3 in modo tale da avere 9 come ultima cifra;
- per lo stesso motivo di prima, nel caso di 957 l'ultima cifra deve essere 7;
- e quindi per 979, l'ultima cifra del secondo moltiplicatore deve essere 1.
Valutiamo $x$: (900000-824439)/9130=75561/9130=8,2761... e quindi la cifra cercata può essere solo 9. E, guarda un po', il prodotto \[913 \cdot 993 = 906609\] è palindromo.
Fatto lo stesso ragionamento anche per gli altri due numeri (957, 979) si trova che non ci sono altri numeri palindromi, e quindi 906609 è il palindromo cercato!
Dal lato programmazione ho condotto una piccola ricerca, trovando alcuni link interessanti. Ad esempio uno
Per C# eccovi un articolo su Functinal Fun sul problema #4 e infine una raccolta di codici su The Research Kitchen che possono essere utilizzati per risolvere alcuni dei problemi proposti dal Project Euler.
P.S.: la bellezza della matematica è che si possono trovare dimostrazioni identiche o quasi anche quando non ci si può confrontare prima: per gli iscritti al Project Euler suggerirei di controllare la dimostrazione proposta dall'utente Begoner.
Nessun commento:
Posta un commento