login
a(0)=1; a(1)=2. For n>1, a(n) is the number of contiguous groups in the sequence thus far whose sum is n.
1

%I #19 May 27 2023 02:40:16

%S 1,2,1,2,1,1,2,3,1,2,4,1,3,5,4,3,5,5,2,4,6,4,4,5,2,8,5,4,7,6,6,3,8,7,

%T 5,7,5,6,11,5,6,9,11,2,6,10,8,6,6,11,7,7,10,6,10,7,6,11,11,4,9,13,6,

%U 10,11,9,8,7,9,9,10,10,6,14,10,9,8,11,7,11,12,9,11,11,10,7

%N a(0)=1; a(1)=2. For n>1, a(n) is the number of contiguous groups in the sequence thus far whose sum is n.

%H Neal Gersh Tolunsky, <a href="/A363279/b363279.txt">Table of n, a(n) for n = 0..10000</a>

%H Neal Gersh Tolunsky, <a href="/A363279/a363279.png">Graph of first 10000 terms</a>

%H Neal Gersh Tolunsky, <a href="/A363279/a363279_1.png">Graph of first 100000 terms</a>

%e a(2)=1 because in the sequence thus far (1, 2), there is only one contiguous subsequence that sums to n=2: (2).

%e a(7)=3 because in the sequence thus far (1, 2, 1, 2, 1, 1, 2), there are three groups of consecutive terms that sum to n=7: (1, 2, 1, 2, 1); (2, 1, 2, 1, 1); (1, 2, 1, 1, 2).

%o (Python)

%o from collections import Counter

%o from itertools import count, islice

%o def agen(): # generator of terms

%o yield from [1, 2]

%o sumsn, c = [2, 3], Counter([1, 2, 3])

%o for n in count(2):

%o an = c[n]

%o yield an

%o sumsn = [an] + [s + an for s in sumsn]

%o c.update(sumsn)

%o print(list(islice(agen(), 86))) # _Michael S. Branicky_, May 25 2023

%Y Cf. A331614, A359634, A358537.

%K nonn

%O 0,2

%A _Neal Gersh Tolunsky_, May 25 2023