Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
A066123
In base 2, two 'Reverse and Add' steps are needed to reach a palindrome.
1
11, 13, 23, 29, 39, 43, 53, 55, 57, 59, 69, 79, 81, 87, 91, 109, 117, 121, 133, 143, 151, 161, 167, 171, 173, 175, 179, 181, 183, 205, 207, 213, 215, 229, 233, 235, 237, 239, 241, 243, 245, 247, 261, 265, 277, 287, 289, 303, 311, 321, 327, 337, 343, 347, 349
OFFSET
1,1
COMMENTS
The analog of A065207 in base 2. The number of steps starts at 0, so palindromes (cf. A006995) are excluded.
PROG
(PARI) Rev(x)= { local(d, r=0); while (x>0, d=x%10; x\=10; r=r*10 + d); return(r) } digitsIn(x)= { local(d); if (x==0, return(1)); d=1 + log(x)\log(10); if (10^d == x, d++, if (10^(d-1) > x, d--)); return(d) } Palin(x)= { local(d, e, f, i, t, y); if (x==0, return(1)); y=x; d=digitsIn(x); t=10^(d - 1); for (i=1, d\2, f=y-10*(y\10); y\=10; e=x\t; x-=t*e; t/=10; if (e!=f, return(0)) ); return(1) } baseE(x, b)= { local(d, e=0, f=1); while (x>0, d=x-b*(x\b); x\=b; e+=d*f; f*=10); return(e) } baseI(x, b)= { local(d, e=0, f=1); while (x>0, d=x-10*(x\10); x\=10; e+=d*f; f*=b); return(e) } calcB(p)= { local(b, r); b=baseE(p, 2); r=Rev(b); d=baseI(r, 2) + p; b=baseE(d, 2); return(b); } { n=0; for (m=1, 10^9, d=m; t=1; b=baseE(d, 2); for (i=1, 2, if (Palin(b), t=0; break); b=calcB(d)); if (t && Palin(b), write("b066123.txt", n++, " ", m); if (n==1000, return)) ) } \\ Harry J. Smith, Feb 01 2010
CROSSREFS
KEYWORD
base,nonn
AUTHOR
Klaus Brockhaus, Dec 08 2001
EXTENSIONS
OFFSET changed from 0,1 to 1,1 by Harry J. Smith, Feb 01 2010
STATUS
approved