프로그래밍 퀴즈 – 원주율 구하기

  • Post author:
  • Post category:칼럼
  • Post comments:0 Comments
  • Post last modified:January 25, 2016

질문

상수로 정의한 원주율 PI 값이 없다고 해보자. 원주율 값을 직접 구해야 한다면 어떻게 접근하겠는가?

해결책: 몬테카를로

몬테카를로 시뮬레이션(Monte CarloSimulation)이란 통계적 접근 방법이 있다.

1.먼저 정사각형 안에 한 꼭지점을 중심으로 사분원을 한 개 그린다.
2.이때 정사각형의 전제 넓이를 1이라고 하면 원의 넓이는 π/4가 된다.
3.이제 컴퓨터로 난수를 발생하여 무작위로 정사각형 내부에 점을 찍는다.
4.그리고 정사각형의 꼭지점과의 거리를 계산하여 점이 사분원의 내부에 있는지 외부에 있는 지를 판단한다.
5.예를 들어 전체 10만개의 점을 찍었다고 할 때 이 중 n 개가 사분원의 내부에 있었다면 두 숫자의 비율, 즉 n/10만의 값은 넓이의 비인 π/4에 근접하리라고 예측할 수 있다.
6.이 값을 더 많은 점을 찍어 실험할수록 정밀해진다.

출처: 몬테카를로 시뮬레이션

해결책: 재훈이의 생각

몬테카를로 방식을 몰라서 다른 접근 방식을 생각한 적이 있다. 기본적인 개념은 간단하다.

  1. 이등변 삼각형을 그린다.
  2. 이등변 삼각형을 모아 원 모양으로 합친다.
  3. 이등변 삼각형의 넓이와 변의 길이를 안다. \’\’\’넓이 = PI * (r^2)\’\’\’ 중에서 PI를 제외한 모든 값이 준비됐다. 식만 풀면 PI의 근사값이 나온다.
  4. 이등변 삼각형이 가늘수록 정확한 값이 나온다.
Author Details
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
0 0 votes
Article Rating
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments