%I #77 Oct 26 2024 10:44:20
%S 1,2,3,4,5,7,7,8,9,11,11,13,13,16,16,16,17,19,19,23,23,23,23,25,25,27,
%T 27,29,29,31,31,32,37,37,37,37,37,41,41,41,41,43,43,47,47,47,47,49,49,
%U 53,53,53,53,59,59,59,59,59,59,61,61,64,64,64,67,67,67,71,71,71,71,73
%N Smallest prime power >= n.
%C The length of the m-th run of {a(n)} is the length of the (m-1)-st run of A031218 for m > 1. - _Colin Linzer_, Mar 08 2024
%H David W. Wilson, <a href="/A000015/b000015.txt">Table of n, a(n) for n = 1..10000</a>
%H Eric Weisstein's World of Mathematics, <a href="http://mathworld.wolfram.com/PrimePower.html">Prime Power</a>.
%F a(A110654(n+1)) = A188666(n). - _Reinhard Zumkeller_, Apr 25 2011, corrected by _M. F. Hasler_, Jul 25 2015
%F a(n) = A188666(2n-1). - _M. F. Hasler_, Jul 25 2015
%p N:= 1000: # to get all terms <= N
%p Primes:= select(isprime,{$1..N}):
%p PPs:= {1} union Primes:
%p for k from 1 to ilog2(N) do
%p PPs:= PPs union map(`^`, select(`<=`,Primes, floor(N^(1/k))),k)
%p od:
%p PPs:= sort(convert(PPs,list)):
%p 1, seq(PPs[i]$(PPs[i]-PPs[i-1]), i=2..nops(PPs)); # _Robert Israel_, Jul 23 2015
%t Insert[Table[m:=n;While[Not[Length[FactorInteger[m]]==1],m++ ];m,{n,2,100}], 1, 1] (* _Stefan Steinerberger_, Apr 17 2006 *)
%t a[n_] := NestWhile[# + 1 &, n, Not@*PrimePowerQ]; (* _Matthew House_, Jul 14 2015, v6.0+ *)
%t a[ n_] := If[ n < 2, Boole[n == 1], Module[{m = n}, While[ ! PrimePowerQ[ m], m++]; m]]; (* _Michael Somos_, Mar 06 2018 *)
%t a[ n_] := If[ n < 1, 0, Module[{m = n}, While[ Length[ FactorInteger @ m ] != 1, m++]; m]]; (* _Michael Somos_, Mar 06 2018 *)
%o (PARI) {a(n) = if( n<1, 0, while(matsize(factor(n))[1]>1, n++); n)}; /* _Michael Somos_, Jul 16 2002 */
%o (PARI) a(n)=if(n>1,while(!isprimepower(n),n++));n \\ _Charles R Greathouse IV_, Feb 01 2013
%o (Sage) [next_prime_power(n) for n in range(72)] # _Zerinvary Lajos_, Jun 13 2009
%o (Haskell)
%o a000015 n = a000015_list !! (n-1)
%o a000015_list = 1 : concat
%o (zipWith(\pp qq -> replicate (fromInteger (pp - qq)) pp)
%o (tail a000961_list) a000961_list)
%o -- _Reinhard Zumkeller_, Nov 17 2011, Apr 25 2011
%o (Python)
%o from itertools import count
%o from sympy import factorint
%o def A000015(n): return next(filter(lambda m:len(factorint(m))<=1, count(n))) # _Chai Wah Wu_, Oct 25 2024
%Y Cf. A000961, A031218.
%K nonn,easy,changed
%O 1,2
%A _N. J. A. Sloane_
%E More terms from _Michael Somos_, Jul 16 2002