이 이미지를보십시오. 구체적으로, 단부의 구멍이 어떻게 배열되는지.
( 이미지 소스 )
이 이미지의 파이프가 어떻게 육각형 패턴으로 포장되어 있는지 확인하십시오. 2D에서 6 각형 격자는 가장 밀집된 원 으로 알려져 있습니다. 이 과제에서 우리는 원의 묶음의 둘레를 최소화하는 데 중점을 둘 것입니다. 둘레를 시각화하는 유용한 방법 중 하나는 원의 컬렉션 주위에 고무 밴드를 배치하는 것을 상상하는 것입니다.
작업
n
입력 으로 양의 정수가 주어지면 n
가능한 한 단단히 묶인 원 모음을 표시 하십시오.
규칙 및 설명
- 원의 지름이 1 단위라고 가정합니다.
- 최소화 할 변수는 둘레의 길이이며 , 그룹에서 원 중심 의 볼록 껍질 로 정의됩니다 . 이 이미지를 살펴보십시오.
직선의 3 개의 원은 둘레가 4이고 (볼록 껍질은 2x0 직사각형이고 2는 두 번 계산됩니다) 120도 각도로 배열 된 것은 둘레가 약 3.85이며 삼각형은 둘레가 있습니다 단 3 대만 실제 둘레의 추가 pi 단위는 무시하지만 가장자리가 아닌 원의 중심 만보고 있기 때문입니다.
- 주어진에 대해 여러 가지 솔루션이있을 수 있습니다
n
. 귀하는 임의로 재량에 따라 이들을 출력 할 수 있습니다. 오리엔테이션은 중요하지 않습니다. - 원은 육각형 격자 위에 있어야합니다.
- 원은 지름이 10 픽셀 이상이어야하며 채워지거나 채워지지 않을 수 있습니다.
- 프로그램이나 함수를 작성할 수 있습니다.
- STDIN을 통해 입력을 함수 인수 또는 가장 가까운 값으로 가져올 수 있습니다.
- 출력은 파일로 표시되거나 출력 될 수 있습니다.
예
아래에는 1에서 10 사이의 n에 대한 유효 하고 유효하지 않은 출력 예가 있습니다 (처음 5 개에만 유효한 예). 유효한 예는 왼쪽에 있습니다. 오른쪽의 모든 예는 해당하는 유효한 예보다 둘레가 더 큽니다.
이 과제를 작성하는 데 도움을 준 steveverrill에게 감사드립니다. 행복한 포장!