문제 :
데카르트 평면에 비어 있지 않은 점이 있으면 점을 모두 묶는 가장 작은 원을 찾으십시오 ( Wikipedia link ).
점 개수가 3 개 이하인 경우이 문제는 사소한 문제입니다 (한 점이있는 경우 원의 반지름이 0입니다. 두 점이있는 경우 점을 결합하는 선분은 원의 지름입니다. 세 개의 (비선형) 점을 사용하면 모호하지 않은 삼각형을 형성하면 모든 점에 닿는 원의 방정식을 얻을 수 있습니다. 따라서이 문제를 해결하려면 점수가 3보다 커야합니다.
도전 과제 :
- 입력 : 4 개 이상의 비선형 점 목록. 점은 X와 Y 좌표를 가져야합니다. 좌표는 수 레일 수 있습니다. 문제를 해결하기 위해 두 점이 동일한 X 좌표를 공유해서는 안됩니다.
예를 들면 다음과 같습니다.[(0,0), (2,1), (5,3), (-1,-1)]
- 출력 : ( x − h ) 2 + ( y − k ) 2 = r 2
(h,k,r)
와 같은 값의 튜플은 모든 점을 묶는 가장 작은 원의 방정식입니다.
규칙 :
- 프로그램에 적합한 입력 방법을 선택할 수 있습니다.
- 출력은
STDOUT
함수에 인쇄 되거나 함수에 의해 반환 되어야합니다 . - "일반", 범용 언어가 선호되지만 모든 esolang이 허용됩니다.
- 점이 동일 선상에 있지 않다고 가정 할 수 있습니다.
- 이것은 코드 골프이므로 바이트 단위의 가장 작은 프로그램이 승리합니다. 당첨자는 챌린지 게시 후 1 주일 후에 선정됩니다.
- 답변의 첫 번째 줄에 사용한 언어와 길이를 바이트 단위로 헤더로 입력하십시오.
# Language: n bytes
- 답변의 첫 번째 줄에 사용한 언어와 길이를 바이트 단위로 헤더로 입력하십시오.
테스트 사례 :
- 1:
- 입력:
[(-8,0), (3,1), (-6.2,-8), (3,9.5)]
- 산출:
[-1.6, 0.75, 9.89]
- 입력:
- 2 :
- 입력:
[(7.1,-6.9), (-7,-9), (5,10), (-9.5,-8)]
- 산출:
[-1.73, 0.58, 11.58]
- 입력:
- 삼:
- 입력:
[(0,0), (1,2), (3,-4), (4,-5), (10,-10)]
- 산출:
[5.5, -4, 7.5]
- 입력:
- 4 :
- 입력:
[(6,6), (-6,7), (-7,-6), (6,-8)]
- 산출:
[0, -0.5, 9.60]
- 입력:
행복한 골프 !!!