백준 3053
내코드
#define _CRT_SECURE_NO_WARNINGS
#define _USE_MATH_DEFINES
#include <stdio.h>
#include <math.h>
int main()
{
int r;
scanf("%d", &r);
double a, b;
a = M_PI * r * r;
b = (double)2 * r * r;
printf("%.6f\n", a);
printf("%.6f\n", b);
return 0;
}
택시기하학에서 두 점사이의 거리는 |x1-x2|+|y1-y2|이다. 택시기하학에서 반지름이 r인 원을 원점과 원을 구성하는 임의의 점 (x, y)를 기준으로 생각해봤다. 원점과 (x, y)의 거리는 r이다. 따라서 식을 세운다면 r = |x-0|+|y-0|이 될 것이다. 이를 x, y의 조건에 따라 4가지 식으로 절대값을 벗겼고 각 사분면에 해당하는 식을 그려보면 위의 그림과 같이 각 변이 ((2)^(1/2))*r인 정사각형이 된다. 따라서 택시기하학에서의 반지름이 r인 원은 한 변의 길이가 ((2)^(1/2))*r인 정사각형이 된다. 그러므로 택시기하학에서 반지름이 r인 원의 넓이는 2*r*r이다.
유클리드 기하학에서 반지름이 r인 원의 넓이는 pi*r*r이다.
c언어에서 pi값은 math.h 라이브러리에 들어있고 #define _USE_MATH_DEFINES 이를 선언해주어야 사용가능하다고 한다.
'C' 카테고리의 다른 글
[C]백준 10.재귀: 11729 (0) | 2022.01.16 |
---|---|
[C]백준 09.기본수학2: 1002 (0) | 2022.01.15 |
[C]백준 09.기본수학2: 4153 (0) | 2022.01.15 |
[C]백준 09.기본수학2: 3009 (0) | 2022.01.15 |
[C]백준 09.기본수학2: 1085 (0) | 2022.01.15 |