본문 바로가기
작업/Problem Solving

백준 3053(택시 기하학) 파이썬(python) 해결

728x90

문제

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

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

 

 

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

 

 

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

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

 

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

 

반지름 R이 주어졌을 때 유클리드 기하학에서 원의 넓이,

택시 기하학에서 원의 넓이를 구하는 프로그램을 작성하시오.

입력

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

출력

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

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

정답과의 오차는 0.0001까지 허용한다.

 

 


문제만 바라보게 되면 무슨 말인지 이해하기가 어려워서 검색을 통해 자세하게 알아보았습니다.

 

 

https://librewiki.net/wiki/%ED%83%9D%EC%8B%9C_%EA%B8%B0%ED%95%98%ED%95%99

 

택시 기하학

Taxicab Geometry.

librewiki.net

 

 

유클리드 기하학의 원의 넓이는 수학에서 외운 공식인  "파이 알 제곱 = π * r^2"입니다.

택시 기하학에서의 원의 넓이는 사각형의 넓이를 구하는 공식과 같다고 보시면 됩니다.

 

= 2 * r^2

 


python3 소스코드

# 백준 3053 (택시 기하학)
from math import pi

rnd = int(input())

# 원의 넓이 = pi * r^2
# 유클리드 기하학(택시 기하학) = 2 * r^2
print("%.6lf" % (pi * rnd**2))
print("%.6lf" % (2 * rnd**2))

 

제시된 출력 예시에는 소수점 6자리까지로 되어 있었기 때문에 포맷팅 작업을 수행하였습니다.

 

 

- 끝 -

 

 

 

 

728x90