PS/BOJ

백준 1297번: TV 크기 (C++)

도비(Doby) 2023. 5. 29. 11:14

https://www.acmicpc.net/problem/1297

 

1297번: TV 크기

김탑은 TV를 사러 인터넷 쇼핑몰에 들어갔다. 쇼핑을 하던 중에, TV의 크기는 그 TV의 대각선의 길이로 나타낸 다는 것을 알았다. 하지만, 김탑은 대각선의 길이가 같다고 해도, 실제 TV의 크기는

www.acmicpc.net


Level: Bronze II

Solved By: Math

 

피타고라스의 정리를 이용하여 계수를 구해줍니다.

 

C++에서는 double or float 실수 자료형은 int로 타입을 바꾸었을 때, 소숫점 아래 수는 자동으로 버리기 때문에 이런 특성을 활용하여 풀 수 있습니다.

#include <iostream>
#include <cmath>
using namespace std;

int main(){
    double d, h, w;
    cin >> d >> h >> w;
    double ratio = sqrtl(d * d / (h * h + w * w));
    int H = (int)(ratio * h);
    int W = (int)(ratio * w);
    cout << H << ' ' << W;
    return 0;
}