|
MAPLE
|
gsqfree := proc(n) local resul ; resul := n ; while not numtheory[issqrfree](resul) do resul := resul-1 ; od ; RETURN(resul) ; end: A081210 := proc(n) option remember ; local pfd, resul, p ; if n = 1 then RETURN(1) ; else pfd := ifactors(n)[2] ; resul := 1 ; for p from 1 to nops(pfd) do resul := resul*gsqfree( op(1, op(p, pfd))^op(2, op(p, pfd))) ; od ; fi ; end: r := proc(n, k) option remember ; if k= 0 then n ; else r(A081210(n), k-1) ; fi ; end: A081212 := proc(n) local i; i := 0 ; while r(n, i) <> r(n, i+1) do i := i+1 ; od ; RETURN(i) ; end: A081214 := proc() local a, m, h ; a :=[seq(-1, i=1..40)] ; for m from 1 to 8000000 do h := A081212(m) ; if h+1 <= nops(a) then if op(h+1, a) = -1 then a := subsop(h+1=m, a) ; print(a) ; fi ; fi ; od ; RETURN(a) ; end: A081214() ; - R. J. Mathar (mathar(AT)strw.leidenuniv.nl), Apr 04 2007
|