login
A036966
3-full (or cube-full, or cubefull) numbers: if a prime p divides n then so does p^3.
88
1, 8, 16, 27, 32, 64, 81, 125, 128, 216, 243, 256, 343, 432, 512, 625, 648, 729, 864, 1000, 1024, 1296, 1331, 1728, 1944, 2000, 2048, 2187, 2197, 2401, 2592, 2744, 3125, 3375, 3456, 3888, 4000, 4096, 4913, 5000, 5184, 5488, 5832, 6561, 6859, 6912, 7776, 8000
OFFSET
1,2
COMMENTS
Also called powerful_3 numbers.
For n > 1: A124010(a(n),k) > 2, k = 1..A001221(a(n)). - Reinhard Zumkeller, Dec 15 2013
a(m) mod prime(n) > 0 for m < A258600(n); a(A258600(n)) = A030078(n) = prime(n)^3. - Reinhard Zumkeller, Jun 06 2015
REFERENCES
M. J. Halm, More Sequences, Mpossibilities 83, April 2003.
A. Ivic, The Riemann Zeta-Function, Wiley, NY, 1985, see p. 407.
E. Kraetzel, Lattice Points, Kluwer, Chap. 7, p. 276.
LINKS
Amiram Eldar, Table of n, a(n) for n = 1..10000 (terms 1..1000 from T. D. Noe)
M. J. Halm, Sequences
H.-Q. Liu, The number of cubefull numbers in an interval (supplement), Funct. Approx. Comment. Math. 43 (2) 105-107, December 2010.
FORMULA
Sum_{n>=1} 1/a(n) = Product_{p prime}(1 + 1/(p^2*(p-1))) (A065483). - Amiram Eldar, Jun 23 2020
Numbers of the form x^5*y^4*z^3. There is a unique representation with x,y squarefree and coprime. - Charles R Greathouse IV, Jan 12 2022
MAPLE
isA036966 := proc(n)
local p ;
for p in ifactors(n)[2] do
if op(2, p) < 3 then
return false;
end if;
end do:
return true ;
end proc:
A036966 := proc(n)
option remember;
if n = 1 then
1 ;
else
for a from procname(n-1)+1 do
if isA036966(a) then
return a;
end if;
end do:
end if;
end proc: # R. J. Mathar, May 01 2013
MATHEMATICA
Select[ Range[2, 8191], Min[ Table[ # [[2]], {1}] & /@ FactorInteger[ # ]] > 2 &]
Join[{1}, Select[Range[8000], Min[Transpose[FactorInteger[#]][[2]]]>2&]] (* Harvey P. Dale, Jul 17 2013 *)
PROG
(Haskell)
import Data.Set (singleton, deleteFindMin, fromList, union)
a036966 n = a036966_list !! (n-1)
a036966_list = 1 : f (singleton z) [1, z] zs where
f s q3s p3s'@(p3:p3s)
| m < p3 = m : f (union (fromList $ map (* m) ps) s') q3s p3s'
| otherwise = f (union (fromList $ map (* p3) q3s) s) (p3:q3s) p3s
where ps = a027748_row m
(m, s') = deleteFindMin s
(z:zs) = a030078_list
-- Reinhard Zumkeller, Jun 03 2015, Dec 15 2013
(PARI) is(n)=n==1 || vecmin(factor(n)[, 2])>2 \\ Charles R Greathouse IV, Sep 17 2015
(PARI) list(lim)=my(v=List(), t); for(a=1, sqrtnint(lim\1, 5), for(b=1, sqrtnint(lim\a^5, 4), t=a^5*b^4; for(c=1, sqrtnint(lim\t, 3), listput(v, t*c^3)))); Set(v) \\ Charles R Greathouse IV, Nov 20 2015
(PARI) list(lim)=my(v=List(), t); forsquarefree(a=1, sqrtnint(lim\1, 5), my(a5=a[1]^5); forsquarefree(b=1, sqrtnint(lim\a5, 4), if(gcd(a[1], b[1])>1, next); t=a5*b[1]^4; for(c=1, sqrtnint(lim\t, 3), listput(v, t*c^3)))); Set(v) \\ Charles R Greathouse IV, Jan 12 2022
(Python)
from math import gcd
from sympy import integer_nthroot, factorint
def A036966(n):
def f(x):
c = n+x
for w in range(1, integer_nthroot(x, 5)[0]+1):
if all(d<=1 for d in factorint(w).values()):
for y in range(1, integer_nthroot(z:=x//w**5, 4)[0]+1):
if gcd(w, y)==1 and all(d<=1 for d in factorint(y).values()):
c -= integer_nthroot(z//y**4, 3)[0]
return c
def bisection(f, kmin=0, kmax=1):
while f(kmax) > kmax: kmax <<= 1
while kmax-kmin > 1:
kmid = kmax+kmin>>1
if f(kmid) <= kmid:
kmax = kmid
else:
kmin = kmid
return kmax
return bisection(f, n, n) # Chai Wah Wu, Sep 10 2024
KEYWORD
easy,nonn,nice,changed
EXTENSIONS
More terms from Erich Friedman
Corrected by Vladeta Jovovic, Aug 17 2002
STATUS
approved