cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A069623 Number of perfect powers <= n.

Original entry on oeis.org

1, 1, 1, 2, 2, 2, 2, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12
Offset: 1

Views

Author

Amarnath Murthy, Mar 27 2002

Keywords

Examples

			a(27) = 7 as the perfect powers <= 27 are 1, 4, 8, 9, 16, 25 and 27.
		

Crossrefs

Perfect powers are A001597. Cf. A053289. A076411(n) = a(n-1) is another version.
Cf. A075802 (first differences). - Chayim Lowen, Jul 29 2015
Cf. A002321.

Programs

  • Maple
    N:= 1000:  # to get a(n) for n <= N
    R:= Vector(N):
    for p from 2 to ilog2(N) do
      for i from 1 to floor(N^(1/p)) do
          R[i^p]:= 1
    od od:
    A069623:= map(round,Statistics:-CumulativeSum(R)):
    convert(A069623,list); # Robert Israel, May 19 2014
    # second Maple program:
    a:= proc(n) option remember; `if`(n=1, 1, a(n-1)+
         `if`(igcd(seq(i[2], i=ifactors(n)[2]))>1, 1, 0))
        end:
    seq(a(n), n=1..100);  # Alois P. Heinz, Feb 26 2019
  • Mathematica
    a[1] = 1; a[n_] := If[ !PrimeQ[n] && GCD @@ Last[Transpose[FactorInteger[n]]] > 1, a[n - 1] + 1, a[n - 1]]; Table[a[n], {n, 1, 85}]
    (* Or *) b[n_] := n - Sum[ MoebiusMu[k] * Floor[n^(1/k) - 1], {k, 1, Floor[ Log[2, n]]}]; Table[b[n], {n, 1, 85}]
  • PARI
    a(n) = 1 + sum(k=1, n, ispower(k) != 0); \\ Michel Marcus, Jul 25 2015
    
  • PARI
    a(n)=n-sum(k=1,logint(n,2), moebius(k)*(sqrtnint(n,k)-1)) \\ Charles R Greathouse IV, Jul 21 2017
    
  • PARI
    a(n)=my(s=n); forsquarefree(k=1,logint(n,2), s-=(sqrtnint(n,k[1])-1)*moebius(k)); s \\ Charles R Greathouse IV, Jan 08 2018
    
  • Python
    from sympy import mobius, integer_nthroot
    def A069623(n): return int(n+sum(mobius(k)*(1-integer_nthroot(n,k)[0]) for k in range(1,n.bit_length()))) # Chai Wah Wu, Aug 13 2024

Formula

a(n) = n - Sum_{k=1..floor(log_2(n))} mu(k)*floor(n^(1/k)-1), where mu = A008683. - David W. Wilson, Oct 09 2002
a(n) = O(sqrt(n)) (conjectured). a(n) = A076411(n+1) = Sum_{k=1..n} A075802(k). - Chayim Lowen, Jul 24 2015
The conjecture is true: The number of squares < n is n^(1/2) + O(1). The number of higher powers < n is nonnegative and less than n^(1/3) log_2(n). Thus a(n) = n^(1/2) + O(n^(1/3) log n). - Robert Israel, Jul 31 2015
a(n) = n - Sum_{k=2..n} M(floor(log_k(n))), where M is Mertens's function A002321. - Ridouane Oudra, Dec 30 2020