https://www.acmicpc.net/problem/6322
🔔 문제 :
세 변의 길이가 a, b, c(c는 빗변)인 직각 삼각형이 있습니다.
이 변의 길이 중 2개가 주어질 때, 이 삼각형이 직각삼각형인지, 그리고 나머지 1개의 변의 값은 무엇인지 구하는 문제입니다.
예제 입력
3 4 -1
-1 2 7
5 -1 3
0 0 0
예제 출력
Triangle #1
c = 5.000
Triangle #2
a = 6.708
Triangle #3
Impossible.
🔔 Kick Point :
if 구문을 사용하여, 구해야 하는 변을 나누고 cmath의 sqrt함수를 통하여 구하였습니다.
또한
cout << fixed
cout.precision()을 통하여 소수점을 맞춰줍니다.
🔔 Code :
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int a, b, c, t = 0;
while (cin >> a >> b >> c && (a || b || c)) {
cout << "Triangle " << '#' << ++t << '\n';
float t; char i;
if (a == -1) {
i = 'a';
t = (c * c) - (b * b);
}
else if (b == -1){
i = 'b';
t = (c * c) - (a * a);
}
else {
i = 'c';
t = (a * a) + (b * b);
}
t = sqrt(t);
cout << fixed;
cout.precision(3);
if(t > 0)
cout << i << " = " << t << '\n';
else {
cout << "Impossible."<< '\n';
}
cout << '\n';
}
}