728x90
6322번: 직각 삼각형의 두 변
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 직각 삼각형의 세 변의 길이 a, b, c가 주어진다. a, b, c중 하나는 -1이며, -1은 알 수 없는 변의 길이
www.acmicpc.net
문제 풀이
이 문제의 입력값은 a, b, c의 형식으로 들어오고, 한 변이 -1일 경우, 직각삼각형이 되는 수를 찾는 문제이다. 문제에서는 c가 항상 가장 긴 변으로 나온다. 따라서 a, b를 찾는 경우는 c^2 - b^2 = a^2 혹은 c^2 - a^2 = b^2의 형식이고, c를 찾는 방법은 a^2 + b^2 = c^2를 통해 찾아준다.
문제에서 불가능한 경우도 존재하는데, c가 가장 긴 변이 아닐 경우이다. c^2 - b^2 > 0 조건이 만족하지 않는다면 불가능함을 출력해준다.
정답 코드
case = 1
while True :
a, b, c = map(int, input().split())
if a == b == c == 0 : break
print(f"Triangle #{case}")
if a == -1 :
if c ** 2 - b ** 2 > 0 : print("a = {:.3f}".format((c ** 2 - b ** 2) ** 0.5))
else : print("Impossible.")
if b == -1 :
if c ** 2 - a ** 2 > 0 : print("b = {:.3f}".format((c ** 2 - a ** 2) ** 0.5))
else : print("Impossible.")
if c == -1 :
if a ** 2 + b ** 2 > 0 : print("c = {:.3f}".format((a ** 2 + b ** 2) ** 0.5))
else : print("Impossible.")
print()
case += 1
728x90
'Algorithm > PS' 카테고리의 다른 글
[BOJ/백준] 6437 - Golf [python] (0) | 2023.03.17 |
---|---|
[BOJ/백준] 6378 - 디지털 루트 [python] (0) | 2023.03.17 |
[BOJ/백준] 6321 - IBM 빼기 1 [python] (0) | 2023.03.17 |
[BOJ/백준] 6249 - TV Reports [python] (0) | 2023.03.17 |
[BOJ/백준] 6190 - Another Cow Number Game [python] (0) | 2023.03.16 |