login
List giving least 5-rough number (A007310) of each prime signature.
1

%I #36 Mar 31 2026 23:37:32

%S 1,5,25,35,125,175,385,625,875,1225,1925,3125,4375,5005,6125,9625,

%T 13475,15625,21875,25025,30625,42875,48125,67375,78125,85085,109375,

%U 125125,148225,153125,175175,214375,240625,336875,390625,425425,471625,546875,625625,741125

%N List giving least 5-rough number (A007310) of each prime signature.

%C Sequences of the form "List giving least p-rough number of each prime signature." for prime p can help in a search for numbers k <= U such that sigma(k) >= b*k where U is some chosen upper bound and b is some chosen constant. If such sequence is S(p, U) then we can find the largest ratio sigma(k)/k for k in S(p, U) and use that to decide to continue searching.

%C b = 2 describes nonabundant numbers (A023196). p = 2 describes A025487. p = 3 describes A147516. This sequence has p = 5.

%H Michael De Vlieger, <a href="/A393012/b393012.txt">Table of n, a(n) for n = 1..10000</a>

%H Michael De Vlieger, <a href="/A393012/a393012.txt">Mathematica algorithm that generates least prime(k)-rough numbers less than a limit</a>.

%F Sum_{n>=1} 1/a(n) = Product_{n>=3} 1/(1 - 3/A070826(n)) = 1.290389472537278155572... . - _Amiram Eldar_, Feb 13 2026

%e 175 is in the sequence as it is a product of consecutive primes starting at 5 and for any two distinct prime powers p^ep and q^eq where p < q we have ep >= eq.

%o (PARI) is(n) = {if(n == 1, return(1)); e = valuation(n, 5); if(e == 0, return(0)); n\=5^e; if(n==1, return(1)); forprime(p = 7, oo, v = valuation(n, p); if(v > e, return(0)); if(v == 0, return(0)); n\=p^v; if(n==1, return(1)); e = v)}

%o (Python)

%o from itertools import count

%o from functools import lru_cache

%o from sympy import prime, integer_log

%o from oeis_sequences.OEISsequences import bisection

%o def A393012(n):

%o @lru_cache(maxsize=None)

%o def g(x, m, j): return sum(g(x//(prime(m)**i), m-1, i) for i in range(j,integer_log(x, prime(m))[0]+1)) if m>3 else max(0,integer_log(x,5)[0]+1-j)

%o def f(x):

%o c, p = n-1+x, 1

%o for k in count(3):

%o p *= prime(k)

%o if p>x:

%o break

%o c -= g(x,k,1)

%o return c

%o return bisection(f,n,n) # _Chai Wah Wu_, Mar 31 2026

%o (Python)

%o from itertools import islice

%o from heapq import heappop, heappush

%o from sympy import factorint, prevprime, nextprime

%o def A393012_gen(): # generator of terms if the first n terms are desired.

%o h, hset = [1], {1}

%o while True:

%o yield (m:=heappop(h))

%o ps = factorint(m)

%o for p in ps:

%o if p == 5 or ps[prevprime(p)]>ps[p]:

%o mp = m*p

%o if mp not in hset:

%o heappush(h,mp)

%o hset.add(mp)

%o mp = m*nextprime(max(ps.keys(),default=3))

%o if mp not in hset:

%o heappush(h,mp)

%o hset.add(mp)

%o A393012_list = list(islice(A393012_gen(),40)) # _Chai Wah Wu_, Mar 31 2026

%Y Cf. A007310, A023196, A025487, A070826, A147516.

%K nonn

%O 1,2

%A _David A. Corneth_, Feb 07 2026