본문 바로가기

알고리즘(Java)/ 구현

백준 3053번 택시 기하학

 

문제

19세기 독일 수학자 헤르만 민코프스키는 비유클리드 기하학 중 택시 기하학을 고안했다.

택시 기하학에서 두 점 T1(x1,y1), T2(x2,y2) 사이의 거리는 다음과 같이 구할 수 있다.

D(T1,T2) = |x1-x2| + |y1-y2|

두 점 사이의 거리를 제외한 나머지 정의는 유클리드 기하학에서의 정의와 같다.

따라서 택시 기하학에서 원의 정의는 유클리드 기하학에서 원의 정의와 같다.

원: 평면 상의 어떤 점에서 거리가 일정한 점들의 집합

반지름 R이 주어졌을 때, 유클리드 기하학에서 원의 넓이와, 택시 기하학에서 원의 넓이를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 반지름 R이 주어진다. R은 10,000보다 작거나 같은 자연수이다.

출력

첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다.

넓이는 소수점 여섯째 자리까지 출력한다.

예제 입력

1

예제 출력

3.141593
2.000000

 

 

import java.text.DecimalFormat;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
DecimalFormat df = new DecimalFormat("0.000000");
int r = sc.nextInt(); // r = 반지름;

/*
* 유클리드 기하학: 원의 형태
* - 원 넓이 : 반지름(r)^2(반지름*반지름) * 파이
*
* 택시 기하학 -정사각형의 형태
* -정사각형 넓이: 한변의 길이(a) * 한변의 길이(a)
* 원의 지름(2r) = 정사각형의 대각선의 길이 = 한변의 길이(a) * √2
* 4r^2 = 2a^2
* 2r^2 = a^2 = 정사각형 넓이
* */

double pi = Math.PI;
System.out.println(df.format(r * r * pi)); //유클리드 원의 형태
System.out.println(df.format(r * r * 2));//택시 기하학의 원의 의형태
}
}

http://mygumi.tistory.com/56 

'알고리즘(Java) > 구현' 카테고리의 다른 글

백준 2490 윷놀이  (0) 2018.03.07