login
a(1) = 0; for n>1, a(n) = prime(n-1) - A090252(n).
2

%I #17 May 29 2022 01:38:34

%S 0,0,0,0,3,4,4,6,6,6,21,12,14,16,22,18,22,22,20,24,24,20,63,24,28,30,

%T 30,30,52,30,86,78,48,48,42,48,48,50,54,54,46,48,44,52,44,46,173,54,

%U 60,60,56,54,58,50,58,60,64,58,186,156,58,56,236,78,150,80,78,90,86,90,86,84,88,90,92,96,90,82,86,88,92,88,84,84,84,86,84,82,84

%N a(1) = 0; for n>1, a(n) = prime(n-1) - A090252(n).

%C Theorem: a(n) >= 0 for all n.

%H N. J. A. Sloane, <a href="/A354154/b354154.txt">Table of n, a(n) for n = 1..10000</a>

%e A090252 begins

%e 1, 2, 3, 5, 4, 7, 9, 11, 13, ...

%e and we subtract these numbers from

%e 1, 2, 3, 5, 7, 11, 13, 17, 19, ...

%e to get

%e 0, 0, 0, 0, 3, 4, 4, 6, 6, ...

%o (Python)

%o from math import gcd, prod

%o from sympy import isprime, nextprime

%o from itertools import count, islice

%o def agen(): # generator of terms

%o alst, aset, mink, p = [1], {1}, 2, 1

%o yield 0

%o for n in count(2):

%o k, s, p = mink, n - n//2, nextprime(p)

%o prodall = prod(alst[n-n//2-1:n-1])

%o while k in aset or gcd(prodall, k) != 1: k += 1

%o alst.append(k); aset.add(k); yield p - k

%o while mink in aset: mink += 1

%o print(list(islice(agen(), 89))) # _Michael S. Branicky_, May 28 2022

%Y Cf. A090252.

%K nonn

%O 1,5

%A _N. J. A. Sloane_, May 28 2022