cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A306323 Break up the Kolakoski sequence A000002 into pieces by inserting a space between every pair of equal terms; sequence gives lengths of successive pieces.

Original entry on oeis.org

2, 2, 4, 3, 2, 3, 2, 4, 4, 2, 3, 4, 3, 2, 4, 4, 3, 2, 3, 2, 4, 3, 2, 3, 4, 4, 2, 3, 2, 4, 3, 2, 3, 2, 4, 4, 3, 2, 3, 4, 2, 3, 2, 4, 3, 2, 3, 2, 4, 4, 2, 3, 4, 3, 2, 3, 2, 4, 4, 3, 2, 4, 4, 2, 3, 4, 4, 2, 3, 2, 4, 3, 2, 3, 4, 2, 3, 2, 3, 4, 4, 2, 3, 2, 4, 3, 2, 3, 4, 4, 2, 3, 4, 3, 2, 4, 4, 3, 2, 3, 4, 2, 3, 2, 4, 3, 2, 3
Offset: 1

Views

Author

Chia-Ching Chen, Mar 25 2019

Keywords

Comments

The first 14 terms of Kolakoski's sequence are 1,2,2,1,1,2,1,2,2,1,2,2. When we break it into pieces, inserting a pair of parentheses between every two identical terms, we get (1,2),(2,1),(1,2,1,2),(2,1,2),..., and the lengths of the pieces form this sequence 2,2,4,3,...
This sequence only contains 2, 3 and 4. Proof: Considering 1, it would be 1,(1),1 or 2,(2),2 in Kolakoski's sequence, which is impossible because there would be a 3 (or more) in former terms. And for 5 (or more), it would be 1,(1,2,1,2,1),1 (or similar to start with 2), where the terms which generate it would be 2+,1,1,1,2+, where three consecutive terms can't happen according to the former proof.
Except for the first two terms, two consecutive terms cannot be equal unless they're 4. Proof: Considering 2's, the terms in Kolakoski's sequence would be 1,1,2,2,1,1, which would be generated by 2,2,2. And for 3's, the terms in Kolakoski's sequence would be 1,1,2,1,1,2,1,1, which would be generated by 2,1,2,1,2, whose 2nd through 4th terms would be generated by 1,1,1.

Examples

			Kolakoski's sequence separated into pieces:
(1,2), (2,1), (1,2,1,2), (2,1,2), (2,1), (1,2,1), (1,2), (2,1,2,1), (1,2,1,2), (2,1), (1,2,1), (1,2,1,2), (2,1,2), (2,1), (1,2,1,2), (2,1,2,1), (1,...
so we get
2, 2, 4, 3, 2, 3, 2, 4, 4, 2, 3, 4, 3, 2, 4, 4, ...
		

Crossrefs

Cf. A000002.

Programs

  • Python
    # See A000002 for the definition of Kolakoski()
    def a306323():
        last = count = 0
        for k in Kolakoski():
            if k is last:
                yield count
                count = 0
            count += 1
            last = k
    from itertools import islice
    print(*list(islice(a306323(), 108)), sep=', ')
    # corrected by David Radcliffe, May 10 2025