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
Michael De Vlieger, Table of n, a(n) for n = 1..10000
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)
CROSSREFS
KEYWORD
nonn
AUTHOR
David James Sycamore, Jun 07 2024
STATUS
approved
