반응형
SMALL
문제
문제풀이
using System;
using System.IO;
namespace BOJ1297
{
internal class Program
{
static void Main(string[] args)
{
StreamReader sr = new StreamReader(Console.OpenStandardInput());
StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());
int[] DHW = Array.ConvertAll(sr.ReadLine().Split(), int.Parse);
double D = DHW[0]; // 대각선 길이
double H = DHW[1]; // 높이 비율
double W = DHW[2]; // 너비 비율
//높이와 너비 각각의 실제 길이를 구하는 피타고라스 공식
// D^2 = (H*x)^2 + (W*x)^2
//여기서 x 는 (D)^2 / (H^2 + W^2)의 제곱근
double x = Math.Sqrt(D * D / (H * H + W * W));
// 소수점 버리고 변수에 담기
double result1 = Math.Truncate(H * x);
double result2 = Math.Truncate(W * x);
sw.WriteLine("{0} {1}", result1, result2);
sr.Close();
sw.Close();
}
}
}
결과창
피타고라스의 정리를 다시 한번 더 정리해봐야겠다.
아직 수학공식이 필요한 알고리즘은 많이 약하다 ㅠㅠ
PS. 실수 타입의 변수를 활용해야하는 예제들도 좀 더 풀어봐야겠다.
반응형
LIST
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 약수 2501번 C# 사용 풀이 (0) | 2023.02.09 |
---|---|
[BOJ] 통계학 C#사용 풀이 - 미해결 (0) | 2023.02.09 |
[BOJ] 2581번 소수 C# 사용 풀이 (0) | 2023.02.06 |
[BOJ] 2605번 줄세우기 C# 사용 풀이 (0) | 2023.02.05 |
[BOJ] 5524번 입실 관리 C# 문제 풀이 (0) | 2023.02.05 |