Независимый от языка / математика
Вдохновленный ответом Кирилла Кирова выше. Мне стало любопытно узнать о математических свойствах обращения числа, поэтому я решил немного исследовать.
Оказывается, если вы строите различие n - rev(n)для натуральных чисел nв некоторой базе r, вы получаете шаблоны, подобные этой ( (n - rev(n)) / (r - 1)для r=10, обернутый в rстолбцы, красный обозначает отрицательное число):

Эта последовательность может быть сгенерирована как таковая (псевдокод):
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)
Если вы храните эти значения в списке / массиве, n - arr[n]вы получите обратную форму n. Теперь, чтобы «математически сыграть» в это, в идеале нам нужно выражение в закрытой форме, которое дает нам значение n: th в последовательности, чтобы мы могли иметь выражение в закрытой форме для решения всей задачи. К сожалению, я не смог найти такое выражение ... но похоже, что это возможно. :(
Так что да, не столько код-гольф, сколько математическое любопытство, но если есть выражение в закрытой форме вышеуказанной последовательности, это может быть действительно полезно в правильных представлениях PL-гольфа.