OFFSET
1,6
COMMENTS
If n is prime, a(n)=1. - Robert Israel, Oct 20 2017
LINKS
Antti Karttunen, Table of n, a(n) for n = 1..30030
FORMULA
a(A002110(n)) = A077622(n). - Antti Karttunen, Oct 20 2017, after Reinhard Zumkeller's comment in the latter sequence.
EXAMPLE
For n=10, we have exactly two numbers k <= 10 such that A001222(k) = A001222(10) = 2, for which 10 is the least squarefree number >= k, namely 9 (= 3*3) and 10 (= 2*5), thus a(10) = 2. - Antti Karttunen, Oct 20 2017
MAPLE
N:= 200: # to get a(1)..a(N)
M:= map(numtheory:-bigomega, [$1..N]):
S:= map(numtheory:-issqrfree, [$1..N]):
f:= proc(n) local m, k, t;
if not S[n] then return 0 fi;
m:= M[n];
t:= 1;
for k from n-1 to 1 by -1 do
if M[k] = m then
if S[k] then return t
else t:= t+1
fi;
fi
od;
t
end proc:
map(f, [$1..N]); # Robert Israel, Oct 20 2017
MATHEMATICA
Block[{nn = 120, s, t}, s = KeySelect[KeySort@ PositionIndex@ Array[Which[SquareFreeQ@ #1, #1, #3 < #1, #3, True, Block[{k = #1}, While[Nand[SquareFreeQ[k], PrimeOmega[k] == #2], k++]; k]] & @@ {#, PrimeOmega@ #, Times @@ Prime@ Range@ #} &, 2 nn], # < nn &]; t = ConstantArray[0, nn]; ReplacePart[t, Map[# -> Length@ Lookup[s, #] &, Keys@ s]]] (* Michael De Vlieger, Oct 20 2017 *)
PROG
(PARI) A077618(n) = { my(b = bigomega(n), s=1); if(1==n, n, if(!issquarefree(n), 0, k=n-1; while(k > 1, if(bigomega(k)==b, if(issquarefree(k), return(s), s++)); k--; ); (s))); }; \\ Antti Karttunen, Oct 20 2017
(PARI) first(n) = {my(test = vector(n, i, [bigomega(i), i, issquarefree(i), 1]),
biglist = vector(logint(n, 2) + 1)); forstep(i = n, 1, -1, if(test[i][3] == 0,
test[i][4] = 0; if(biglist[test[i][1] + 1]!=0, test[biglist[test[i][1] + 1]][4]++)
, biglist[test[i][1] + 1] = test[i][2])); vector(n, i, test[i][4])} \\ David A. Corneth, Oct 20 2017
CROSSREFS
KEYWORD
nonn
AUTHOR
Reinhard Zumkeller, Nov 12 2002
EXTENSIONS
Term a(10) corrected by Antti Karttunen, Oct 20 2017
STATUS
approved