반응형
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 | 128 MB | 3696 | 1193 | 1112 | 34.374% |
문제
컴퓨터를 이용하면 수학 계산이 조금 쉬워진다. 다음과 같은 예를 살펴보자. 세 변의 길이가 a, b, c(c는 빗변)이면서 a2+b2=c2를 만족하는 삼각형을 직각삼각형이라고 한다. 이 공식은 피타고라스의 법칙이라고 한다.
직각 삼각형의 두 변의 길이가 주어졌을 때, 한 변의 길이를 구하는 프로그램을 작성하시오.
문제풀이
import math
cnt=1
while True:
a,b,c=map(int,input().split())
if a==b==c==0:
break
print("Triangle #"+str(cnt))
#01
if c==-1:
c=math.sqrt(a**2+b**2)
print("c = {:.3f}".format(c))
#02
elif a==-1:
if b>=c:
print("Impossible.")
else:
a=math.sqrt(c**2-b**2)
print("a = {:.3f}".format(a))
#03
else:
if a>=c:
print("Impossible.")
else:
b=math.sqrt(c**2-a**2)
print("b = {:.3f}".format(b))
cnt+=1
print()
- #01 : c가 -1인 경우 피타고라스 정리를 이용해 c를 구하여 출력해준다.
- #02 : a가 -1인 경우 b가 c보다 크거나 같은지 확인 후 a를 구해준다.
- #03 : b가 -1인 경우 a가 c보다 크거나 같은지 확인 후 b를 구해준다.
이 중 문제가 생기면 "Impossible."을 출력해준다.
참고로 마지막 출력간에 빈줄이 표기되어야 정답이 되기에
꼭 print()를 해주어야 한다.
'프로그래밍 > 백준' 카테고리의 다른 글
[알고리즘] 백준 1977 파이썬 - 완전제곱수 (10) | 2022.12.31 |
---|---|
[알고리즘] 백준 1924 파이썬 - 2007년 (6) | 2022.12.30 |
[알고리즘] 백준 10101 파이썬 - 삼각형 외우기 (1) | 2022.12.28 |
[알고리즘] 백준 1358 파이썬 - 하키 (1) | 2022.12.27 |
[알고리즘] 백준 22993 파이썬 - 서든어택 3 (2) | 2022.12.26 |