Senza usare stringhe (tranne quando necessario, come ad esempio con input o output) calcola l'ennesima cifra, da sinistra , di un numero intero (in base 10).
L'input verrà fornito in questo formato:
726433 5
L'output dovrebbe essere:
3
poiché questa è la quinta cifra di "726433".
L'input non conterrà zeri iniziali, ad es. "00223".
Casi di prova / altri esempi:
9 1 -> 9
0 1 -> 0
444494 5 -> 9
800 2 -> 0
Questo è il codice golf; vince il minor numero di caratteri, ma qualsiasi funzione integrata come "nthDigit (x, n)" non è accettabile .
Ecco alcuni pseudo-codice per iniziare:
x = number
n = index of the digit
digits = floor[log10[x]] + 1
dropRight = floor[x / 10^(digits - n)]
dropLeft = (dropRight / 10 - floor[dropRight / 10]) * 10
nthDigit = dropLeft
Come puoi vedere sono nuovo nel campo del golf, e anche se penso che sia un po 'ingiusto porre una domanda prima ancora di averne risposto, mi piacerebbe davvero vedere che tipo di risposte genera. :)
Modifica : speravo in risposte matematiche, quindi non posso davvero accettare risposte che si basano sulla conversione di stringhe in array o sulla possibilità di accedere ai numeri come un elenco di cifre.
Abbiamo un vincitore
Scritto in "dc", 12 byte. Di DigitalTrauma .