login
A373515
Numbers k, divisible by 2 but not by 4, such that rad(k) is primorial.
1
2, 6, 18, 30, 54, 90, 150, 162, 210, 270, 450, 486, 630, 750, 810, 1050, 1350, 1458, 1470, 1890, 2250, 2310, 2430, 3150, 3750, 4050, 4374, 4410, 5250, 5670, 6750, 6930, 7290, 7350, 9450, 10290, 11250, 11550, 12150, 13122, 13230, 15750, 16170, 17010, 18750, 20250
OFFSET
1,1
COMMENTS
Intersection of A055932 and A016825. In other words, numbers k congruent to 2 (mod 4) such that the squarefree kernel of k is a term in A002110. A term m in A055932 is in this sequence iff m/2 is an odd number.
If x, y are terms in this sequence then x*y is not. All primorial numbers >= 2 are terms.
For i >= 1, primorial A002110(i) is a term in this sequence, since primorials are squarefree. - Michael De Vlieger, Jun 08 2024
LINKS
EXAMPLE
6 is a term because 2|6 but 4!|6 and rad(6) = 6 = A002110(2) is a primorial number.
A primorial number m > 1 is a term since m is squarefree and == 2 (mod 4).
MATHEMATICA
Select[Range[2, 25000, 4], Or[# == {2}, Union@ Differences@ PrimePi[#] == {1}] &@
FactorInteger[#][[All, 1]] &] (* Michael De Vlieger, Jun 08 2024 *)
PROG
(PARI) lista(kmax) = {my(f); forstep(k = 2, kmax, 4, f = factor(k); if(primepi(f[#f~, 1]) == #f~, print1(k, ", "))); } \\ Amiram Eldar, Jun 08 2024
(Python)
from functools import lru_cache
from itertools import count
from sympy import prime, integer_log
from oeis_sequences.OEISsequences import bisection
def A373515(n):
@lru_cache(maxsize=None)
def g(x, m): return sum(g(x//(prime(m)**i), m-1) for i in range(1, integer_log(x, prime(m))[0]+1)) if m-1 else x.bit_length()>1
def f(x):
c, p = n+x, 1
for k in count(1):
p *= prime(k)
if p>x:
break
c -= g(x, k)
return c
return bisection(f, n, n) # Chai Wah Wu, Apr 02 2026
(Python)
from itertools import islice
from heapq import heappop, heappush
from sympy import nextprime
def A373515_gen(): # generator of terms
h, hset = [(2, tuple())], {2}
while True:
m, ps = heappop(h)
yield m
for p in ps:
mp = m*p
if mp not in hset:
heappush(h, (mp, ps))
hset.add(mp)
q = nextprime(max(ps, default=2))
mp = m*q
if mp not in hset:
heappush(h, (mp, (ps+(q, ))))
hset.add(mp)
A373515_list = list(islice(A373515_gen(), 46)) # Chai Wah Wu, Apr 02 2026
CROSSREFS
KEYWORD
nonn
AUTHOR
STATUS
approved