login
Closest semiprime to n-th semiprime S that is different from S (break ties by taking the smaller semiprime).
2

%I #17 Jun 04 2021 09:47:28

%S 6,4,10,9,15,14,22,21,26,25,34,33,34,39,38,49,51,49,57,58,57,65,62,65,

%T 77,74,85,86,85,86,93,94,93,94,111,115,118,119,118,122,121,122,133,

%U 134,133,142,141,142,146,145,158,159,158,159,169,166,178,177,185

%N Closest semiprime to n-th semiprime S that is different from S (break ties by taking the smaller semiprime).

%H Michael S. Branicky, <a href="/A116946/b116946.txt">Table of n, a(n) for n = 1..10000</a>

%e Closest semiprimes to 4, 6, 9, 10, 14, 15, 21 are 6, 4, 10, 9, 15, 14, 22.

%t csp[{a_,b_,c_}]:=If[c-b<b-a,c,a]; Join[{6},csp/@Partition[Select[Range[ 300], PrimeOmega[#]==2&],3,1]] (* _Harvey P. Dale_, May 06 2014 *)

%o (Python)

%o from sympy import factorint

%o def semiprime(n): return sum(e for e in factorint(n).values()) == 2

%o def nextsemiprime(n):

%o nxt = n + 1

%o while not semiprime(nxt): nxt += 1

%o return nxt

%o def aupton(terms):

%o prv, cur, nxt, alst = 0, 4, 6, []

%o while len(alst) < terms:

%o alst.append(prv if 2*cur - prv <= nxt else nxt)

%o prv, cur, nxt = cur, nxt, nextsemiprime(nxt)

%o return alst

%o print(aupton(59)) # _Michael S. Branicky_, Jun 04 2021

%Y Cf. A001358 (semiprimes), A051701 (analog for primes).

%K easy,nonn

%O 1,1

%A _Jonathan Vos Post_, Mar 25 2006

%E Corrected by _Harvey P. Dale_, May 06 2014