A062128 In base 2: start with n; if palindrome, stop; otherwise add to itself with digits reversed; a(n) gives palindrome at which it stops, or -1 if no palindrome is ever reached.
0, 1, 11, 11, 101, 101, 1001, 111, 1001, 1001, 1111, 11011, 1111, 11011, 10101, 1111, 10001, 10001, 11011, 1100011, 1100011, 10101, -1, 111111, 11011, 1100011, -1, 11011, -1, 111111, 101101, 11111, 100001, 100001, 110011, -1, 101101, -1, 111111, 1100011, 101101, -1, 111111, 1100011, 1100011
Offset: 0
Examples
23: 10111 -> 10111 + 11101 = 110100 -> 110100 + 1011 = 111111, so a(23) = 111111.
Links
Programs
-
ARIBAS
stop := 500; for k := 0 to 60 do c := 0; m := k; rev := bit_reverse(m); while m <> rev and c < stop do inc(c); m := m + rev; rev := bit_reverse(m); end; if c < stop then bit_write(m); else write(-1); end; write(" "); end;
-
Mathematica
limit = 10^4; (* Assumes that there is no palindrome if none is found before "limit" iterations *) BaseForm[Table[np = n; i = 0; While[np != IntegerReverse[np, 2] && i < limit, np = np + IntegerReverse[np, 2]; i++]; If[i >= limit, -1, np], {n, 0, 44}], 2] (* Robert Price, Oct 14 2019 *)
Comments