%I #40 Feb 03 2021 21:52:22
%S 2,2,3,2,3,2,3,5,2,5,3,2,3,7,5,2,5,3,2,7,3,5,7,3,2,3,2,3,11,3,7,2,11,
%T 2,5,7,3,13,5,2,11,2,3,2,11,13,3,2,3,5,2,13,11,7,5,2,5,3,2,17,13,3,2,
%U 3,17,5,11,2,3,5,19,7,13,3,5,17,3,13,7,2,7,2,19,3,5,11,3,2,3,11,13,3,17
%N Last filtering prime for n-th prime p: find smallest prime factor of each of the composite numbers between p and next prime; take maximal value.
%C A000879(n) is the least index i such that a(i) = prime(n). - _Labos Elemer_, May 14 2003
%H T. D. Noe, <a href="/A052180/b052180.txt">Table of n, a(n) for n=2..10000</a>
%F a(n) = Max_{j=1+prime(n)..prime(n+1)-1} A020639(j) where A020639(j) is the least prime dividing j.
%e For n=9, n-th prime is 23, composites between 23 and next prime are 24 25 26 27 28, smallest prime divisors are 2 5 2 3 2; maximal value is 5, so a(9)=5.
%t ffi[x_] := Flatten[FactorInteger[x]];
%t lf[x_] := Length[FactorInteger[x]];
%t ba[x_] := Table[Part[ffi[x], 2*w-1], {w, 1, lf[x]}];
%t mi[x_] := Min[ba[x]];
%t Table[Max[Table[mi[ba[w]], {w, Prime[j]+1, -1+Prime[j+1]}]], {j, 2, 256}]
%t (* Second program: *)
%t mpf[{a_,b_}] := Max[FactorInteger[#][[1,1]]& /@ Range[a+1,b-1]];
%t mpf/@ Partition[ Prime[Range[2,100]],2,1] (* _Harvey P. Dale_, Apr 30 2013 *)
%o (Haskell)
%o a052180 n = a052180_list !! (n-2)
%o a052180_list = f [4..] where
%o f ws = (maximum $ map a020639 us) : f vs where
%o (us, _:vs) = span ((== 0) . a010051) ws
%o -- _Reinhard Zumkeller_, Dec 27 2012
%o (PARI) a(n) = {my(p = prime(n), amax = 0); forcomposite(c = p, nextprime(p+1), amax = max(factor(c)[1,1], amax);); amax;} \\ _Michel Marcus_, Apr 21 2018
%o (Python)
%o from sympy import prime, nextprime, primefactors
%o def a(n):
%o p = prime(n); q = nextprime(p)
%o return max(min(primefactors(m)) for m in range(p+1, q))
%o print([a(n) for n in range(2, 95)]) # _Michael S. Branicky_, Feb 02 2021
%Y Cf. A052248, A020639, A000720, A083269, A000879.
%Y Cf. A010051.
%K nonn,easy,nice
%O 2,1
%A _Labos Elemer_, Feb 05 2000