본문 바로가기

프로그래밍/Python

이등변직각삼각형 이등분각 무한급수

728x90

문제는 http://ggomjirak.tistory.com/224.

이등변 직각삼각형에서 아래 그림의 회색부분의 넓이의 합을 구하는 것이 문제임. 삼각형을 분할하는 방법은,
남겨진 각을 계속 이등분하는 것임. (선분 (0, 1)을 1/2지점, 3/4지점, 7/8지점, ... 으로 분할하는 것처럼.)

값이 얼마인지 궁금하여 파이썬으로 간단히 계산해 본 소스코드는 다음과 같다.

import math

#   .
#   |\
#   |o\
#   |  \
#   |   \
#   |    \
#   |     \
#   |      \
#   |       \
#   |        \
#   ._________\____
#             P
#
#          pi   /         n \
#   o_n = ---- |  1 - 0.5    |
#           4   \           /
#
def P(n):
    o_n = (math.pi/4)*(1 - (.5)**n)
    return math.tan(o_n)


#      1   /  inf              \ 
# S = --- |   sum P    -  P     |
#      2   \  k=0  2k+1    2k  / 
area2 = 0.0
for i in range(0, 1000):
    s = P(2*i+1) - P(2*i)
    if s == 0: break
    area2 += s
    print(i, ']', area2, s)
area = area2/2
print('** ]', area)

결과는

0 ] 0.41421356237309503 0.41421356237309503
1 ] 0.5667137152824565 0.15250015290936147
2 ] 0.6124456929642347 0.04573197768177817
3 ] 0.6244958844833873 0.012050191519152653
4 ] 0.6275497945803846 0.003053910096997292
5 ] 0.6283159036146521 0.000766109034267437
6 ] 0.6285075960788714 0.0001916924642193507
7 ] 0.6285555295318305 4.793345295905915e-05
8 ] 0.6285675135413074 1.1984009476884161e-05
9 ] 0.6285705095840691 2.9960427617714558e-06
10 ] 0.6285712585972841 7.490132150067552e-07
11 ] 0.6285714458507455 1.872534614033583e-07
12 ] 0.6285714926641207 4.681337517631334e-08
13 ] 0.628571504367465 1.1703344293678697e-08
14 ] 0.6285715072933009 2.9258359068862205e-09
15 ] 0.6285715080247598 7.314588934548283e-10
16 ] 0.6285715082076244 1.828646123414046e-10
17 ] 0.6285715082533407 4.5716319618804846e-11
18 ] 0.6285715082647698 1.1429079904701211e-11
19 ] 0.6285715082676271 2.857269976175303e-12
20 ] 0.6285715082683414 7.143174940438257e-13
21 ] 0.6285715082685199 1.7852386235972517e-13
22 ] 0.6285715082685646 4.463096558993129e-14
23 ] 0.6285715082685759 1.1324274851176597e-14
24 ] 0.6285715082685785 2.6645352591003757e-15
25 ] 0.6285715082685792 6.661338147750939e-16
26 ] 0.6285715082685794 2.220446049250313e-16
** ] 0.3142857541342897
  • 부동소수점 근사치이기 때문에 정확한 값은 아닐 것이고, 흥미로운 것은, 0.1 x 원주율 과 3자리수까지 일치한다는 점.
  • 정확하게 풀면 어떻게 나올지 궁금하고,
  • 일반적인 삼각형에서는 어떤 성질이 있을지도 궁금하다.