반응형
문제
어떤 사각형의 네 꼭짓점이 원과 접할 때 이 사각형이 원에 내접한다고 한다. 세 선분의 길이가 주어지고 그중 가장 긴 선분의 길이가 내접할 원의 지름과 같을 때, 나머지 한 선분의 길이를 구하여라.
입력
첫 번째 줄에 세 변의 길이를 나타내는 세 정수 a, b, c가 주어진다. (1 ≤ a, b, c ≤ 100) 세 선분은 내림차순으로 주어진다.
출력
첫째 줄에 나머지 한 변의 길이를 출력한다. 원에 내접하는 사각형을 만들 수 없다면 -1을 출력한다. 단, 정답은 정수로 나오는 케이스만 주어진다.
풀이
import math
a, b, c = map(int,input().split())
r1 = a*a - b*b
r2 = a*a - c*c
d = int((math.sqrt(r1*r2) - b*c) / a)
if d > 0: print(d)
else: print(-1)
톨레미의 정리에 따르면 다음과 같이 원에 내접한 사각형은 마주 보는 두 쌍의 변의 곱의 합이 두 대각선의 곱과 같다.
반응형
'Develop > 알고리즘' 카테고리의 다른 글
[백준/Python] Silver V #13241 최소공배수 (0) | 2023.09.01 |
---|---|
[백준/Python] Silver V #9655 돌 게임 (0) | 2023.09.01 |
[백준/Python] Gold V #1011 Fly me to the Alpha Centauri (0) | 2023.08.29 |
[백준/Python] Silver V #10867 중복 빼고 정렬하기 (0) | 2023.08.29 |
[백준/Python] Gold V #12865 평범한 배낭 (0) | 2023.08.29 |
Comment