Indépendant de la langue / mathématiques
Inspiré par la réponse de Kiril Kirov ci-dessus. Je suis devenu curieux de connaître les propriétés mathématiques de l'inversion d'un nombre, j'ai donc décidé d'enquêter un peu.
Il s'avère que si vous tracez la différence n - rev(n)
pour les nombres naturels n
dans une base r
, vous obtenez des modèles comme celui-ci ( (n - rev(n)) / (r - 1)
, pour r=10
, encapsulé dans les r
colonnes, le rouge indique un nombre négatif):
Cette séquence pourrait être générée en tant que telle (pseudocode):
for i=1 to r:
output 0
for m=0, 1, …
for k=1 to (r-1):
for d=1 to r^m:
for i=0 to (r-1):
output (r-1) * (r+1)^m * (k - i)
Si vous stockez ces valeurs dans une liste / tableau, n - arr[n]
vous obtiendrez alors la forme inversée de n
. Maintenant, pour "jouer au golf mathématiquement", nous voudrions idéalement une expression de forme fermée qui nous donne la valeur n: e dans la séquence, afin que nous puissions avoir une expression de forme fermée pour résoudre la tâche entière. Malheureusement, je n'ai pas pu trouver une telle expression ... mais il semble que cela devrait être possible. :(
Donc oui, pas tant un golf de code qu'une curiosité mathématique, mais s'il y a une expression sous forme fermée de la séquence ci-dessus, cela pourrait en fait être utile dans les soumissions de golf PL appropriées.