Problema
“L’altro giorno stavo guidando in autostrada e guardai il mio contachilometri. È a sei cifre, come la maggior parte dei contachilometri, e mostra solo chilometri interi. Se la mia macchina, per esempio, avesse 300.000 km, vedrei 3-0-0-0-0-0.”
“Quello che vidi quel giorno era interessante. Notai che le ultime 4 cifre erano palindrome, cioè si potevano leggere in modo identico sia da sinistra a destra che viceversa. Per esempio 5-4-4-5 è palindromo, per cui il contachilometri avrebbe potuto essere 3-1-5-4-4-5”
“Un chilometro dopo, gli ultimi 5 numeri erano palindromi. Per esempio potrei aver letto 3-6-5-4-5-6. Un altro chilometro dopo, le 4 cifre di mezzo erano palindrome. E tenetevi forte: un altro chilometro dopo tutte e 6 erano palindrome!”
“La domanda è: quanto segnava il contachilometri la prima volta che guardai?”
Scrivete un programma in Python che controlli tutti i numeri a sei cifre e visualizzi i numeri che soddisfano le condizioni sopra indicate.
Soluzione
def palindromo(i, start, len): """restituisce True se l'intero i, convertito in stringa, contiene un numero palindromo di lunghezza (len), che inizia nella posizione definita dall' indice (start) """ s = str(i)[start:start+len] return s[::-1] == s def check(i): """verifichiamo se l'intero (i) ha le proprietà descritte nel quesito """ return (palindromo(i, 2, 4) and palindromo(i+1, 1, 5) and palindromo(i+2, 1, 4) and palindromo(i+3, 0, 6))def check_all(): """elenca i numeri a sei cifre e stampa quelli che soddisfano il requisiti del quesito""" i = 100000 while i <= 999999: if check(i): print (i) i = i + 1print ('I seguenti sono i possibili numeri letti sul contachilometri:')check_all()198888
199999
(201)
Altri articoli nella categoria "Lezioni di Python"
- Break-Even Point nel Franchising: Calcolo Avanzato, Automazione e Royalty (con Modelli in Python)
- Regressione lineare: esercizi progressivi dai minimi quadrati alla regressione multipla
- Microeconomia applicata: choke price, domanda esponenziale, segmentazione e prezzo ottimale – Parte 2
- Microeconomia applicata: choke price, prezzo di riserva massimo e prezzo ottimale
- Quanti Centri Ha una Figura Geometrica? Dal Baricentro al Pentagramma
- Microeconomia Computazionale: Come la Domanda di Mercato Emerge dai Comportamenti Individuali
- Legge di Benford e Data Quality nel Marketing: Guida, Formule ed Esercizi Python
- Microeconomia dell’AI: 6 esercizi matematici su costi, pricing, domanda ed elasticità
- Equazioni trascendenti: come risolverle con Python, dal punto fisso a Newton e Brent
- Equazioni Omogenee Esponenziali: Guida Pratica con Esercizi Svolti e Applicazioni