OFFSET
1,8
LINKS
FORMULA
EXAMPLE
For n = 4, the starting value is a multiple of four, after which follows A252463(4) = 2, and A252463(2) = 1, the end point of iteration, and neither 2 nor 1 is a multiple of four, thus a(4) = 1*(2^0) + 0*(2^1) + 0*(2^2) = 1.
For n = 8, the starting value is a multiple of four, after which follows A252463(8) = 4 (also a multiple), continuing as before as 4 -> 2 -> 1, thus a(8) = 1*(2^0) + 1*(2^1) + 0*(2^2) + 0*(2^3) = 3.
For n = 9, the starting value is not a multiple of four, after which follows A252463(9) = 4 (which is), continuing as before as 4 -> 2 -> 1, thus a(9) = 0*(2^0) + 1*(2^1) + 0*(2^2) + 0*(2^3) = 2.
MATHEMATICA
Table[FromDigits[Reverse@ NestWhileList[Function[k, Which[k == 1, 1, EvenQ@ k, k/2, True, Times @@ Power[Which[# == 1, 1, # == 2, 1, True, NextPrime[#, -1]] & /@ First@ #, Last@ #] &@ Transpose@ FactorInteger@ k]], n, # > 1 &] /. k_ /; IntegerQ@ k :> If[Mod[k, 4] == 0, 1, 0], 2], {n, 105}] (* Michael De Vlieger, Sep 21 2017 *)
PROG
(Python)
from sympy.core.cache import cacheit
from sympy.ntheory.factor_ import digits
from sympy import factorint, prevprime
from operator import mul
from functools import reduce
def a292370(n):
k=digits(n, 4)[1:]
return 0 if n==0 else int("".join(['1' if i==0 else '0' for i in k]), 2)
def a064989(n):
f=factorint(n)
return 1 if n==1 else reduce(mul, [1 if i==2 else prevprime(i)**f[i] for i in f])
def a252463(n): return 1 if n==1 else n//2 if n%2==0 else a064989(n)
@cacheit
def a292384(n): return 1 if n==1 else 4*a292384(a252463(n)) + n%4
def a(n): return a292370(a292384(n))
print([a(n) for n in range(1, 111)]) # Indranil Ghosh, Sep 21 2017
(PARI) a(n) = my(m=factor(n), k=-1, ret=0); for(i=1, matsize(m)[1], ret += bitneg(0, m[i, 2]-1) << (primepi(m[i, 1])+k); k+=m[i, 2]); ret; \\ Kevin Ryde, Dec 11 2020
CROSSREFS
KEYWORD
nonn,base
AUTHOR
Antti Karttunen, Sep 15 2017
STATUS
approved