login
a(1)=1; for n > 1, if a(n-1) is prime then a(n) = the smallest number not yet in the sequence. Otherwise a(n) = a(n-1) + n - 1.
1

%I #19 Sep 28 2022 08:13:21

%S 1,2,3,4,8,13,5,6,14,23,7,9,21,34,48,63,79,10,28,47,11,12,34,57,81,

%T 106,132,159,187,216,246,277,15,48,82,117,153,190,228,267,307,16,58,

%U 101,17,18,64,111,159,208,258,309,361,414,468,523,19,20,78,137,22,83,24,87,151,25,91

%N a(1)=1; for n > 1, if a(n-1) is prime then a(n) = the smallest number not yet in the sequence. Otherwise a(n) = a(n-1) + n - 1.

%e a(8) = 6 because a(7) is prime and 6 is the smallest number that has not appeared in the sequence thus far.

%e a(9) = 6 + 9 - 1 = 14 because a(8) is not prime.

%t f[s_] := Module[{k=1, t}, t = If[!PrimeQ[s[[-1]]], s[[-1]] + Length[s], While[!FreeQ[s, k], k++]; k]; Join[s, {t}]]; Nest[f, {1}, 66] (* _Amiram Eldar_, Sep 28 2022 *)

%o (Python)

%o from sympy import isprime

%o from itertools import count, filterfalse

%o A356188 = A = [1]

%o for n in range(1,100):

%o if isprime(A[-1]):

%o y = next(filterfalse(set(A).__contains__, count(1)))

%o else:

%o y = A[-1] + n

%o A.append(y)

%Y Cf. A000040, A060735, A073659, A331603.

%K nonn,easy

%O 1,2

%A _John Tyler Rascoe_, Jul 28 2022