login
4-full numbers: if a prime p divides k then so does p^4.
22

%I #49 Sep 11 2024 00:31:56

%S 1,16,32,64,81,128,243,256,512,625,729,1024,1296,2048,2187,2401,2592,

%T 3125,3888,4096,5184,6561,7776,8192,10000,10368,11664,14641,15552,

%U 15625,16384,16807,19683,20000,20736,23328,28561,31104,32768,34992

%N 4-full numbers: if a prime p divides k then so does p^4.

%C a(m) mod prime(n) > 0 for m < A258601(n); a(A258601(n)) = A030514(n) = prime(n)^4. - _Reinhard Zumkeller_, Jun 06 2015

%D E. Kraetzel, Lattice Points, Kluwer, Chap. 7, p. 276.

%H Alois P. Heinz, <a href="/A036967/b036967.txt">Table of n, a(n) for n = 1..10000</a> (first 300 terms from T. D. Noe)

%F Sum_{n>=1} 1/a(n) = Product_{p prime} (1 + 1/(p^3*(p-1))) = 1.1488462139214317030108176090790939019972506733993367867997411290952527... - _Amiram Eldar_, Jul 09 2020

%t Join[{1},Select[Range[35000],Min[Transpose[FactorInteger[#]][[2]]]>3&]] (* _Harvey P. Dale_, Jun 05 2012 *)

%o (Haskell)

%o import Data.Set (singleton, deleteFindMin, fromList, union)

%o a036967 n = a036967_list !! (n-1)

%o a036967_list = 1 : f (singleton z) [1, z] zs where

%o f s q4s p4s'@(p4:p4s)

%o | m < p4 = m : f (union (fromList $ map (* m) ps) s') q4s p4s'

%o | otherwise = f (union (fromList $ map (* p4) q4s) s) (p4:q4s) p4s

%o where ps = a027748_row m

%o (m, s') = deleteFindMin s

%o (z:zs) = a030514_list

%o -- _Reinhard Zumkeller_, Jun 03 2015

%o (PARI) is(n)=n==1 || vecmin(factor(n)[,2])>3 \\ _Charles R Greathouse IV_, Sep 17 2015

%o (PARI)

%o M(v,u,lim)=vecsort(concat(vector(#v, i, my(m=lim\v[i]); v[i]*select(t->t<=m, u))))

%o Gen(lim,k)={my(v=[1]); forprime(p=2, sqrtnint(lim, k), v=M(v, concat([1], vector(logint(lim,p)-k+1,e,p^(e+k-1))), lim));v}

%o Gen(35000,4) \\ _Andrew Howroyd_, Sep 10 2024

%o (Python)

%o from sympy import factorint

%o A036967_list = [n for n in range(1,10**5) if min(factorint(n).values(),default=4) >= 4] # _Chai Wah Wu_, Aug 18 2021

%o (Python)

%o from math import gcd

%o from sympy import integer_nthroot, factorint

%o def A036967(n):

%o def bisection(f,kmin=0,kmax=1):

%o while f(kmax) > kmax: kmax <<= 1

%o while kmax-kmin > 1:

%o kmid = kmax+kmin>>1

%o if f(kmid) <= kmid:

%o kmax = kmid

%o else:

%o kmin = kmid

%o return kmax

%o def f(x):

%o c = n+x

%o for u in range(1,integer_nthroot(x,7)[0]+1):

%o if all(d<=1 for d in factorint(u).values()):

%o for w in range(1,integer_nthroot(a:=x//u**7,6)[0]+1):

%o if gcd(w,u)==1 and all(d<=1 for d in factorint(w).values()):

%o for y in range(1,integer_nthroot(z:=a//w**6,5)[0]+1):

%o if gcd(w,y)==1 and gcd(u,y)==1 and all(d<=1 for d in factorint(y).values()):

%o c -= integer_nthroot(z//y**5,4)[0]

%o return c

%o return bisection(f,n,n) # _Chai Wah Wu_, Sep 10 2024

%Y A030514 is a subsequence.

%Y Cf. A001694, A036966, A046101, A258601.

%K easy,nonn,nice

%O 1,2

%A _N. J. A. Sloane_

%E More terms from _Erich Friedman_

%E Corrected by _Vladeta Jovovic_, Aug 17 2002