OFFSET
0,140
COMMENTS
Equally, a(n) = minimum number of steps needed to repeat k = A235027(k)(starting from k = n) until A001222(A235027(k)) = A001222(k).
Or in other words, how many times are needed to repeatedly factorize the number, to reverse the bits of each odd prime factor (with A056539) and factorize and bit-reverse the reversed factors again, until the number of prime divisors no more grows, meaning that we have found either a fixed point or entered a cycle of two.
LINKS
Antti Karttunen, Table of n, a(n) for n = 0..10001
FORMULA
a(2n) = a(n), and in general, for composite values a(u * v) = max(a(u),a(v)).
For composite n, a(n) = Max_{p|n} a(p). [The above reduces to this: select the maximal value from all values a(p) computed for primes p dividing n]
EXAMPLE
19, '10011' in binary, when reversed, yields '11001' = 25, when factored, yields 5 * 5, ('101' * '101' in binary), which divisors stay same when reversed, thus it took one iteration step to reach a point where the number of prime divisors no more grows. Thus a(19)=1.
PROG
(Scheme, two alternative definitions using memoizing definec-macro from Antti Karttunen's IntSeq-library)
(definec (A235145 n) (cond ((= (A001222 (A235027 n)) (A001222 n)) 0) (else (+ 1 (A235145 (A235027 n))))))
(PARI) revbits(n) = fromdigits(Vecrev(binary(n)), 2);
a235027(n) = {f = factor(n); for (k=1, #f~, if (f[k, 1] != 2, f[k, 1] = revbits(f[k, 1]); ); ); factorback(f); }
find(v, newn) = {for (k=1, #v, if (v[#v -k + 1] == newn, return (k)); ); return (0); }
a(n) = {ok = 0; v = [n]; while (! ok, newn = a235027(n); ind = find(v, newn); if (ind, ok = 1, v = concat(v, newn); n = newn); ); #v - ind; } \\ Michel Marcus, Aug 06 2017
CROSSREFS
KEYWORD
nonn,base
AUTHOR
Antti Karttunen, Jan 03 2014
STATUS
approved