OFFSET
0,12
COMMENTS
The analog of A033665 in base 2.
LINKS
EXAMPLE
10011 (19 in base 10) -> 10011 + 11001 = 101100 -> 101100 + 1101 = 111001 -> 111001 + 100111 = 1100000 -> 1100000 + 11 = 1100011 (palindrome) requires 4 steps, so a(19) = 4.
MATHEMATICA
limit = 10^4; (* Assumes that there is no palindrome if none is found before "limit" iterations *)
Table[np = n; i = 0;
While[np != IntegerReverse[np, 2] && i < limit,
np = np + IntegerReverse[np, 2]; i++];
If[i >= limit, -1, i], {n, 0, 111}] (* Robert Price, Oct 14 2019 *)
PROG
(ARIBAS): function b2reverse(a: integer): integer; var n, i, rev: integer; begin n := bit_length(a); for i := 0 to n-1 do if bit_test(a, i) = 1 then rev := bit_set(rev, n-1-i); end; end; return rev; end; function a066057(mx, stop: integer); var c, k, m, rev: integer; begin for k := 0 to mx do c := 0; m := k; rev := b2reverse(m); while m <> rev and c < stop do inc(c); m := m + rev; rev := b2reverse(m); end; if c < stop then write(c); else write(-1); end; write(" "); end; end; a066057(120, 300).
CROSSREFS
KEYWORD
base,sign
AUTHOR
Klaus Brockhaus, Dec 04 2001
STATUS
approved