피타고라스
-
백준 14583번 이음줄 :: 마이구미알고리즘 풀이/수학 2017. 5. 28. 10:44
이번 글은 백준 알고리즘 문제 14583번 "이음줄" 을 다뤄본다.최근 고려대학교 프로그래밍 대회에서 출제된 문제이다.본인은 굉장히 신선한 문제라고 생각했다. 문제 풀이는 직사각형, 평행사변형, 피타고라스, 각의 이등분선 등에 대한 이론이 필요하다.학생시절 머리 좀 써야하는 수학문제를 푼다는 느낌을 받을거라 생각한다. 문제는 링크를 통해 확인하길 바란다. 직사각형 종이를 접힌 부분을 표시해보면 아래와 같다. 우리가 구해야할 것은 보라색 영역의 가로와 세로가 된다. 우리는 직사각형의 대각선의 길이인 d를 먼저 구할 수 있다.h, v 가 주어진 상태이기 때문에 △ABC를 피타고라스의 정리를 이용할 수 있다. double d = Math.sqrt(h * h + v * v); 그 다음, 각의 이등분선의 성질을 ..
-
백준 6322번 직각 삼각형의 두 변 :: 마이구미알고리즘 풀이/수학 2017. 5. 20. 22:10
이번 글은 백준 알고리즘 문제 6322번 "직각 삼각형의 두 변" 을 다뤄본다.사실 제목만 봐도 무슨 문제인지 파악할 수 있다. 중등과정 피타고라스의 공식을 활용하면 문제를 풀 수 있다.사실 상 쉬운 문제로써, 글의 주제거리가 될만큼은 아니지만 좋은 문제라고 판단했다.문제는 피타고라스의 공식의 약간의 응용이 필요하다.피타고라스 공식, 소수점 포맷, 제곱근 3가지만 알고 있다면, 무난히 해결할 수 있다. 직각 삼각형의 세 변의 길이 a, b, c가 주어진다. a, b, c중 하나는 -1이며, -1은 알 수 없는 변의 길이이다. 다른 두 수는 10,000보다 작거나 같은 자연수이다. 주어지지 않는 한 가지 변의 길이를 찾는 문제가 된다. a^2 + b^2 = c^2a^2 + b^2 - c^2 = 0 피타고라..