16481번: 원 전문가 진우
사용 언어: C
문제
원 전문가인 진우는 항상 자신의 친구들에게 원이 포함되어 있는 문제는 모두 풀 수 있다고 자랑한다. 어느 날, 진우를 시험해 보려고 하늘이가 문제를 냈다. 문제는 다음과 같다.평면에 있는 삼각형 ABC의 서로 다른 위치에 있는 세 방접원의 반지름의 길이가 r1, r2, r3일 때, 삼각형 ABC의 내접원의 반지름을 구하시오.
진우는 문제를 보자마자 마음속으로 포기했다. 그런데, 자랑을 너무 많이 해서 이 문제를 못 풀면 친구들에게 미움 받을 것 같다고 생각했다. 진우가 친구들에게 미움을 받지 않도록 진우를 도와 하늘이가 낸 문제를 푸는 프로그램을 작성하시오.
입력
첫째 줄에 r1, r2, r3의 값이 사이에 공백을 한 개씩 두고 차례대로 주어진다. 주어지는 모든 수는 1,000 이하의 양의 정수이다.
출력
첫째 줄에 문제에서 요구하는 정답을 출력한다. 절대/상대 오차는 10-6 까지 허용한다.
풀이
방접원과 내접원의 반지름을 이용한 관계식을 알기만 하면 쉽게 풀 수 있다. 단순히 식만 알고 넘어갈 수 있지만, 더 자세히 알고 싶으면 바램푸드님의 글을 보길 바란다.
#include <stdio.h>
int main(void)
{
double r1, r2, r3, ans;
scanf("%lf %lf %lf", &r1, &r2, &r3);
ans = (r1*r2*r3)/(r1*r2 + r2*r3 + r1*r3);
printf("%.10lf", ans);
return 0;
}
'BOJ > 기하학' 카테고리의 다른 글
2527번: 직사각형 (BOJ C/C++) (0) | 2022.03.08 |
---|---|
1085번: 직사각형에서 탈출 (BOJ C/C++) (0) | 2022.03.08 |
1002번: 터렛 (0) | 2022.02.04 |