본문 바로가기
C

[C]백준 09.기본수학2: 3053

by 열지희공 2022. 1. 15.

백준 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