login
A322793
Proper powers of primorial numbers.
4
4, 8, 16, 32, 36, 64, 128, 216, 256, 512, 900, 1024, 1296, 2048, 4096, 7776, 8192, 16384, 27000, 32768, 44100, 46656, 65536, 131072, 262144, 279936, 524288, 810000, 1048576, 1679616, 2097152, 4194304, 5336100, 8388608, 9261000, 10077696, 16777216, 24300000, 33554432
OFFSET
1,1
COMMENTS
A primorial number is a product of the first n primes, for some n.
Also Heinz numbers of non-strict uniform integer partitions whose union is an initial interval of positive integers. An integer partition is uniform if all parts appear with the same multiplicity. The Heinz number of an integer partition (y_1, ..., y_k) is prime(y_1) * ... * prime(y_k).
LINKS
FORMULA
Sum_{n>=1} 1/a(n) = Sum_{k>=1} 1/(A002110(k)*(A002110(k)-1)) = 0.53450573145072369022... . - Amiram Eldar, Mar 10 2024
EXAMPLE
The sequence of all non-strict uniform integer partitions whose Heinz numbers belong to the sequence begins: (11), (111), (1111), (11111), (2211), (111111), (1111111), (222111), (11111111), (111111111), (332211), (1111111111), (22221111).
MATHEMATICA
unintpropQ[n_]:=And[SameQ@@Last/@FactorInteger[n], FactorInteger[n][[1, 2]]>1, Length[FactorInteger[n]]==PrimePi[FactorInteger[n][[-1, 1]]]];
Select[Range[10000], unintpropQ]
(* Alternative: *)
nn = 2^26; k = 1; P = 2; Union@ Reap[While[j = 2; While[P^j < nn, Sow[P^j]; j++]; j > 2, k++; P *= Prime[k]]][[-1, 1]] (* Michael De Vlieger, Oct 04 2023 *)
PROG
(Python)
from itertools import count
from functools import lru_cache
from sympy import integer_log
from oeis_sequences.OEISsequences import bisection
def A322793(n):
@lru_cache(maxsize=None)
def primorial(x): return 2 if x==1 else primorial(x-1)*prime(x)
def f(x):
c = n+x
for k in count(1):
if primorial(k)>x:
break
c -= integer_log(x, primorial(k))[0]-1
return c
return bisection(f, n, n) # Chai Wah Wu, Apr 04 2026
(Python)
from itertools import islice
from math import prod
from heapq import heappop, heappush
from sympy import nextprime
def A322793_gen(): # generator of terms if the first n terms are desired.
h, hset = [(4, (2, ), 2)], {4}
while True:
m, ps, e = heappop(h)
yield m
for p in ps:
mp = m*prod(ps)
if mp not in hset:
heappush(h, (mp, ps, e+1))
hset.add(mp)
q = nextprime(max(ps, default=1))
mp = m*q**e
if mp not in hset:
heappush(h, (mp, (ps+(q, )), e))
hset.add(mp)
A322793_list = list(islice(A322793_gen(), 40)) # Chai Wah Wu, Apr 04 2026
KEYWORD
nonn
AUTHOR
Gus Wiseman, Dec 26 2018
STATUS
approved