OFFSET
0,3
COMMENTS
In analogy to the numerical "round" function, we "round up" to the next larger palindrome A262038(n) if it is at the same distance or closer, else we "round down" to the next smaller palindrome A261423(n). See A262040 for a variant where the next smaller palindrome is chosen in case of equal distance.
EXAMPLE
a(10) = 11 since we round up if the next smaller palindrome (here 9) is at the same distance, both 9 and 11 are here at distance 1 from n = 10.
a(16) = 11 since |16 - 11| = 5 is smaller than |16 - 22| = 6.
a(17) = 22 since |17 - 22| = 5 is smaller than |17 - 11| = 6.
a(27) = 22 since |22 - 27| = 5 is smaller than |27 - 33| = 6.
a(28) = 33 since |33 - 28| = 5 is smaller than |22 - 28| = 6, and so on.
a(100) = 101 because we round up again in this case, where 99 and 101 both are at distance 1 from n = 100.
MATHEMATICA
palQ[n_] := Block[{d = IntegerDigits@ n}, d == Reverse@ d];
f[n_] := Block[{k = n}, While[Nand[palQ@ k, k > -1], k--]; k];
g[n_] := Block[{k = n}, While[! palQ@ k, k++]; k];
h[n_] := Block[{a = f@ n, b = g@ n}, Which[palQ@ n, n, (b - n) - (n - a) > 0, a, (b - n) - (n - a) <= 0, b]]; Table[h@ n, {n, 0, 73}] (* Michael De Vlieger, Sep 09 2015 *)
CROSSREFS
KEYWORD
nonn,base
AUTHOR
M. F. Hasler, Sep 08 2015
STATUS
approved