Matematica Senza Frontiere – 2019
Se si scrivono tutti i numeri positivi in ordine crescente, senza lasciare spazi, si ottiene 012345678910111213141516…
Per conoscere la posizione di un numero, si conta quante cifre si sono dovute scrivere prima che il numero sia apparso per la prima volta in questa lista.
Ad esempio, la posizione di 7 è 7, la posizione di 23 è 2, la posizione di 111 è 12.
Determina la posizione dei seguenti numeri: 171, 321 e 2019.
Considera l’algoritmo più semplice che risolve il problema
- Sia CHIAVE il numero da individuare
- Genera la sequenza di tutte le cifre dei numeri fino a CHIAVE
CHIAVE compare sicuramente alla fine della sequenza - Individua la prima occorrenza di CHIAVE nella sequenza, tramite la funzione index()
- Visualizza tutto
CHIAVE = 2019 # 7, 23, 111, 171, 321, 2019
sequenza = ""
for n in range(CHIAVE+1): # 1, 2, 3, ..., 2018, 2019
sequenza += str(n) # 123...20182019
posizione = sequenza.index(str(CHIAVE)) # 6572
print("Chiave :", CHIAVE )
print("Sequenza :", sequenza )
print("Posizione:", posizione)
Si può migliorare?
…