새소식

💻 Programming (프로그래밍)/C++ | 백준

[C++][백준] - 직각 삼각형의 두 변 (6322번)

  • -
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';
	}
}

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.