반응형
문제
컵라면은 두 개의 밑면이 서로 평행하며, 원 모양인 원뿔대이다. 따라서 컵라면을 옆에서 본 모습은 아래 그림과 같은 등변사다리꼴이다.
위 등변사다리꼴에서 민수가 측정한 컵라면의 윗면의 지름은 D1, 아랫면의 지름은 D2이다. 민수가 아직 측정하지 않은 변의 길이는 K이다. 이때, (컵라면의 높이)2의 값을 알아내는 프로그램을 작성하시오. (단, 컵라면의 높이는 등변사다리꼴에서 평행한 두 변 사이의 거리로 정의한다.)
문제풀이
k=int(input())
d1,d2=map(int,input().split())
#01
x,y=max(d1,d2),min(d1,d2)
#02
print(k**2-((x-y)/2)**2)
- #01 : d1,d2 중에 큰 값은 x, 작은 값은 y에 저장한다.
- #02 : 피타고라스의 정리를 이용한다.
긴 지름에서 작은 지름을 빼면 양쪽에 같은 길이의 선분이 남게된다.
이를 2로 나누면 한 개의 길이가 나오게 된다. 이 선분의 길이와
k 값 즉 대각선의 값을 알면 나머지 높이를 피타고라스 정리로 구할 수 있다.
참고로 x,y와 같으면 직사각형으로 k의 값이 높이가 된다.
'프로그래밍 > 백준' 카테고리의 다른 글
[알고리즘] 백준 5347 파이썬 - LCM (1) | 2023.03.22 |
---|---|
[알고리즘] 백준 2089 파이썬 - -2진수 (3) | 2023.03.21 |
[알고리즘] 백준 17247 파이썬 - 택시 거리 (2) | 2023.03.07 |
[알고리즘] 백준 6502 파이썬 - 동혁 피자 (2) | 2023.03.06 |
[알고리즘] 백준 16488 파이썬 - 피카츄가 낸 어려운 문제 (2) | 2023.03.05 |