19세기 독일 수학자 헤르만 민코프스키는 비유클리드 기하학 중 택시 기하학을 고안했다.
택시 기하학에서 두 점 T1(x1,y1), T2(x2,y2) 사이의 거리는 다음과 같이 구할 수 있다.
D(T1,T2) = |x1-x2| + |y1-y2|
두 점 사이의 거리를 제외한 나머지 정의는 유클리드 기하학에서의 정의와 같다.
따라서 택시 기하학에서 원의 정의는 유클리드 기하학에서 원의 정의와 같다.
원: 평면 상의 어떤 점에서 거리가 일정한 점들의 집합
반지름 R이 주어졌을 때, 유클리드 기하학에서 원의 넓이와, 택시 기하학에서 원의 넓이를 구하는 프로그램을 작성하시오.
첫째 줄에 반지름 R이 주어진다. R은 10,000보다 작거나 같은 자연수이다.
첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다.
1
3.141593
2.000000
21
1385.442360
882.000000
42
5541.769441
3528.000000
유클리드 기하학에서의 원의 넓이는 우리가 보통 알고 있는 원의 넓이이다.
반지름 X 반지름 X PI
택시 기하학에서의 원의 넓이는 마름모의 넓이이다.
마름모의 넓이 = 한 대각선의 길이 X 다른 대각선의 길이 / 2
여기서는 한 대각선의 길이는 반지름 X 2
이고, 두 대각선의 길이가 같으므로
(한 대각선의 길이 X 2) ^ 2 / 2
가 된다.
import java.util.Scanner;
/*
* date: 21.06.15
*
* 1. input: 반지름 r
* 2. outpue: 유클리드 기하학에서 반지름이 r인 원의 넓이, 택시 기하학에서 반지름이 r인 원의 넓이
* 3. constraints: 1 <= r <= 10000 자연수
* 4. edge cases:
* 5. brute force: = optimal solution
* time: O(1), space:O(1)
* */
public class BOJ3053 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
double answer = Math.pow(n * 2, 2) / 2;
System.out.printf("%6f", n * n * Math.PI);
System.out.println();
System.out.printf("%6f", answer);
}
}