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

%I #28 Sep 11 2024 00:32:23

%S 1,32,64,128,243,256,512,729,1024,2048,2187,3125,4096,6561,7776,8192,

%T 15552,15625,16384,16807,19683,23328,31104,32768,46656,59049,62208,

%U 65536,69984,78125,93312,100000,117649,124416,131072,139968,161051

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

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

%H Reinhard Zumkeller, <a href="/A069492/b069492.txt">Table of n, a(n) for n = 1..10000</a> (terms n=148..10000 corrected by Andrew Howroyd)

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

%o (PARI) for(n=1,250000,if(n*sumdiv(n,d,isprime(d)/d^5)==floor(n*sumdiv(n,d,isprime(d)/d^5)),print1(n,",")))

%o (PARI) \\ Gen(limit,k) defined in A036967.

%o Gen(170000, 5) \\ _Andrew Howroyd_, Sep 10 2024

%o (Haskell)

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

%o a069492 n = a069492_list !! (n-1)

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

%o f s q5s p5s'@(p5:p5s)

%o | m < p5 = m : f (union (fromList $ map (* m) ps) s') q5s p5s'

%o | otherwise = f (union (fromList $ map (* p5) q5s) s) (p5:q5s) p5s

%o where ps = a027748_row m

%o (m, s') = deleteFindMin s

%o (z:zs) = a050997_list

%o -- _Reinhard Zumkeller_, Jun 03 2015

%o (Python)

%o from math import gcd

%o from sympy import integer_nthroot, factorint

%o def A069492(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 t in range(1,integer_nthroot(x,9)[0]+1):

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

%o for u in range(1,integer_nthroot(s:=x//t**9,8)[0]+1):

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

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

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

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

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

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

%o return c

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

%Y Cf. A036967, A036966, A001694.

%Y Cf. A050997.

%Y Cf. A258602.

%K easy,nonn

%O 1,2

%A _Benoit Cloitre_, Apr 15 2002