콜라코스키 수열 계산기
1과 2로만 이루어지는데 자기 자신의 연속길이(런렝스)를 세면 다시 자기 자신이 나오는 자기서술적 수열(OEIS A000002)을 계산합니다. 수열과 런렝스 인코딩을 나란히 보여줘 이 성질을 눈으로 확인할 수 있습니다.
0 ~ 2000까지 계산합니다.
첫 60항
런(뭉치) 40개
1이 30번 · 2가 30번 나왔습니다
폭이 런(연속된 같은 값)의 길이입니다. 색은 값(1·2)을 나타냅니다.
1항부터 순서대로.
위 수열을 «값이 몇 개씩 뭉쳐 있나»로 다시 쓴 것입니다.
계산 방법
- 1항수 n을 넣습니다. 1부터 n항까지 계산합니다.
- 2블록 그림에서 값(1·2)이 몇 개씩 뭉쳐 있는지(런의 길이) 봅니다.
- 3수열과 런렝스 인코딩 두 줄을 나란히 비교해 앞부분이 일치하는 것을 확인합니다.
자주 묻는 질문
1과 2로만 이루어지며, 이 수열을 «값이 몇 개씩 연속으로 뭉쳐 있는가»(런렝스 인코딩)로 다시 쓰면 원래 수열과 정확히 같아지도록 만들어진 자기서술적 수열입니다. 씨앗 [1,2,2]에서 시작해, 이미 만든 항이 다음 런의 길이를 알려주는 방식으로 두 포인터를 굴려 생성합니다.
연속된 같은 값을 하나로 뭉쳐 그 길이만 뽑아낸 것입니다. 예를 들어 [1,2,2,1,1,2]는 1이 1개, 2가 2개, 1이 2개, 2가 1개이므로 런렝스 인코딩은 [1,2,2,1]입니다.
런의 길이 자체가 수열의 값(1 또는 2)이기 때문입니다. 어떤 런도 길이가 3 이상이 될 수 없으므로, 이 수열에는 같은 값이 세 번 연속 나오는 자리가 존재하지 않습니다.
생성된 수열의 런렝스 인코딩을 다시 계산해 원래 수열의 앞부분과 비교하면 됩니다. 다만 배열 끝에서 마지막 런이 중간에 잘렸을 수 있어, 그 부분은 비교에서 제외합니다.
전송되지 않습니다. 모든 계산은 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.
알아두면 좋은 점
- 항수는 2,000까지 계산합니다.
- 블록 그림·수열·런렝스 인코딩은 화면에 다 그리기 어려워 일부(각각 전체·120개)까지만 보여 줍니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.