login
Positive numbers that are not the product of (exactly) two distinct primes.
4

%I #85 Sep 22 2025 16:01:18

%S 1,2,3,4,5,7,8,9,11,12,13,16,17,18,19,20,23,24,25,27,28,29,30,31,32,

%T 36,37,40,41,42,43,44,45,47,48,49,50,52,53,54,56,59,60,61,63,64,66,67,

%U 68,70,71,72,73,75,76,78,79,80,81,83,84,88,89,90,92,96,97,98,99,100

%N Positive numbers that are not the product of (exactly) two distinct primes.

%C Non-disjoint union of A100959 and A000961. Disjoint union of A100959 and A001248.

%C Complement of A006881, then inheriting the "opposite" of the properties of A006881.

%C a(n+1) - a(n) <= 4 (gap upper bound) - (that is because among four consecutive integers there is always a multiple of 4, then there is a number which is not the product of two distinct primes). E.g., a(26)-a(25) = a(62)-a(61) = 4. Is it true that for any k <= 4 there are infinitely many numbers n such that a(n+1) - a(n) = k?

%C If r = A006881(n+1) - A006881(n) - 1 > 1, it indicates that there are r terms of (a(j)) starting with j = A006881(n) - n + 1 which are consecutive integers. E.g., A006881(8) - A006881(7) - 1 = 6, so there are 6 consecutive terms in (a(j)), starting with j = A006881(7) - 7 + 1 = 20.

%H Giuseppe Coppoletta, <a href="/A246716/b246716.txt">Table of n, a(n) for n = 1..10000</a>

%e 7 is a term because 7 is prime, so it has only one prime divisor.

%e 8 and 9 are terms because neither of them has two distinct prime divisors.

%e 30 is a term because it is the product of three primes.

%e But 35 is not a term because it is the product of two distinct primes.

%p filter:= n -> map(t -> t[2],ifactors(n)[2]) <> [1,1]:

%p select(filter, [$1..1000]); # _Robert Israel_, Nov 02 2014

%t Select[Range[125], Not[PrimeOmega[#] == PrimeNu[#] == 2] &] (* _Alonso del Arte_, Nov 03 2014 *)

%o (PARI) isok(n) = (omega(n)!=2) || (bigomega(n) != 2); \\ _Michel Marcus_, Nov 01 2014

%o (Magma) [n: n in [1..100] | #PrimeDivisors(n) ne 2 or &*[t[2]: t in Factorization(n)] ne 1]; // _Bruno Berselli_, Nov 12 2014

%o (SageMath)

%o def A246716_list(n) :

%o R = []

%o for i in (1..n) :

%o d = prime_divisors(i)

%o if len(d) != 2 or d[0]*d[1] != i : R.append(i)

%o return R

%o A246716_list(100)

%o (SageMath) [n for n in (1..100) if sloane.A001221(n)!=2 or sloane.A001222(n)!=2] # _Giuseppe Coppoletta_, Jan 19 2015

%o (Python)

%o from math import isqrt

%o from sympy import primepi, primerange

%o def A246716(n):

%o def f(x): return int(n-(t:=primepi(s:=isqrt(x)))-(t*(t-1)>>1)+sum(primepi(x//k) for k in primerange(1, s+1)))

%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 return bisection(f) # _Chai Wah Wu_, Aug 30 2024

%Y Cf. A001358, A100959, A006881, A007774, A001221, A001222, A007304, A000977, A001248, A000961.

%K nonn,easy

%O 1,2

%A _Giuseppe Coppoletta_, Nov 01 2014