문제
컴퓨터를 이용하면 수학 계산이 조금 쉬워진다. 다음과 같은 예를 살펴보자. 세 변의 길이가 a, b, c(c는 빗변)이면서 a2+b2=c2를 만족하는 삼각형을 직각삼각형이라고 한다. 이 공식은 피타고라스의 법칙이라고 한다.
직각 삼각형의 두 변의 길이가 주어졌을 때, 한 변의 길이를 구하는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 직각 삼각형의 세 변의 길이 a, b, c가 주어진다. a, b, c중 하나는 -1이며, -1은 알 수 없는 변의 길이이다. 다른 두 수는 10,000보다 작거나 같은 자연수이다.
입력의 마지막 줄에는 0이 세 개 주어진다.
출력
각 테스트 케이스에 대해서, 입력으로 주어진 길이로 직각 삼각형을 만들 수 있다면, "s = l"을 출력한다. s는 길이가 주어지지 않은 변의 이름이고, l은 길이이다. l은 소수점 셋째 자리까지 출력한다. 삼각형을 만들 수 없는 경우에는 "Impossible."을 출력한다.
풀이
직각 삼각형 세 변의 길이를 입력받았을 때 길이가 -1인 변의 길이를 소수점 셋째 자리까지 출력하는 문제다.
c == -1인 경우 바로 길이를 계산해주면 된다. a, b의 크기에 관계없이 항상 성립하기 때문이다.
a == -1이거나 b == -1인 경우에는 좀 특별하다.
c보다 긴 변은 존재할 수 없기 때문이다.
위에서 성립하지 않았다면 불가능한 삼각형이다.
소스코드
출처
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 06378] 디지털 루트 [Java] (0) | 2024.07.21 |
---|---|
[백준 01149] RGB거리 [C/C++] (2) | 2024.07.20 |
[백준 13939] Imena [Java] (0) | 2024.07.18 |
[백준 02579] 계단 오르기 [C/C++] (0) | 2024.07.18 |
[백준 06190] Another Cow Number Game [Python] (0) | 2024.07.18 |