나의 도전은 조금 어렵고 매력적이지 않은 경향이 있습니다. 여기에 쉽고 재미있는 것이 있습니다.
알쿠 인의 순서
Alcuin의 순서 A(n)
는 삼각형을 세면서 정의됩니다. A(n)
정수 변과 둘레를 가진 삼각형의 수입니다 n
. 이 순서는 York의 Alcuin의 이름을 따서 불립니다.
이 시퀀스의 처음 몇 요소는 다음과 n = 0
같습니다.
0, 0, 0, 1, 0, 1, 1, 2, 1, 3, 2, 4, 3, 5, 4, 7, 5, 8, 7, 10, 8, ...
예를 들어 A(9) = 3
, 때문에 주변 정수 측면과 유일한 삼각형 9
입니다 1 - 4 - 4
, 3 - 3 - 3
그리고 2 - 3 - 4
. 아래 3 개의 유효한 삼각형을 볼 수 있습니다.
이 순서에는 꽤 흥미로운 패턴이 있습니다. 예를 들어 A(2*k) = A(2*k - 3)
.
자세한 내용 은 OEIS의 A005044 를 참조하십시오 .
도전
그러나 당신의 도전은이 숫자들의 이진 표현에 관한 것입니다. 각 시퀀스 번호를 이진 표현으로 변환하고 열 벡터에 넣고 정렬하면 매우 흥미로운 이진 그림이 만들어집니다.
다음 그림에서 시퀀스 번호의 이진 표현을 볼 수 있습니다 A(0), A(1), ..., A(149)
. 첫 번째 열에는의 이진 표현 A(1)
, 두 번째 열에는의 표현 A(1)
등이 있습니다.
이 그림에서 일종의 반복되는 패턴을 볼 수 있습니다. 예를 들어 시퀀스 번호가있는 이미지를 보면 프랙탈처럼 보입니다 A(600), A(601), ..., A(899)
.
당신의 임무는 그러한 이미지를 생성하는 것입니다. 함수에서 스크립트는 두 개의 정수를 수신 0 <= m < n
하며 Alcuin의 sequence 이진 이미지를 생성해야합니다 A(m), A(m+1), A(m+2), ..., A(n-2), A(n-1)
. 따라서 입력 0, 150
은 첫 번째 그림을 생성하고 입력 600, 900
은 두 번째 그림을 생성합니다 .
원하는 인기있는 그래픽 형식을 사용할 수 있습니다. image.online-convert.com을 사용하여 png로 변환 할 수있는 모든 형식을 가정 해 봅시다 . 또는 이미지를 화면에 표시 할 수 있습니다. 선행 흰색 행은 허용되지 않습니다!
이것은 코드 골프입니다. 따라서 가장 짧은 코드 (바이트)가 이깁니다.
white=1 and black=0
다른 방법입니까?
white=0 and black=1
. 다른 방법으로. A(0)
흰색 열을 A(9)=3
생성하고 아래쪽에 2 개의 검은 픽셀이있는 흰색 열을 생성합니다.
0,0,0,1,0,2
질문의 시작 부분에있는 목록이 말합니다 0,0,0,1,0,1
.