Sans utiliser de chaînes (sauf lorsque cela est nécessaire, comme avec une entrée ou une sortie), calculez le nième chiffre, partir de la gauche , d'un entier (en base 10).
L'entrée sera donnée dans ce format:
726433 5
La sortie doit être:
3
car c'est le cinquième chiffre de "726433".
L'entrée sera ne contiendra pas de zéros non significatifs, par exemple "00223".
Cas de test / autres exemples:
9 1 -> 9
0 1 -> 0
444494 5 -> 9
800 2 -> 0
C'est le golf de code; moins de caractères gagnent, mais toutes les fonctions intégrées telles que "nthDigit (x, n)" sont ne pas acceptées .
Voici un pseudo-code pour vous aider à démarrer:
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
Comme vous pouvez le voir, je suis nouveau dans le golf de code, et même si je pense qu'il est un peu injuste que je pose une question avant même d'y avoir répondu, j'aimerais vraiment voir quel type de réponses cela génère. :)
Edit : J'espérais des réponses mathématiques, donc je ne peux pas vraiment accepter les réponses qui reposent sur la conversion de chaînes en tableaux ou sur la possibilité d'accéder à des nombres sous forme de liste de chiffres.
Nous avons un gagnant
Écrit en "dc", 12 octets. Par DigitalTrauma .