π = 3.1415926535897932384626XXX......
4 - 4/3 + 4/5 - 4/7 + 2/8
= 4 - 1.333333...... + 0.8 - 0.571428...... + 0.25
= 3.1452380952XXX......
4 - 4/3 + 4/5 - 4/7 + 4/9 - 4/11 + 2/12
= 3.1427128427XXX......
4 - 4/3 + 4/5 - 4/7 + 4/9 - 4/11 + 4/13 - 4/15 + 4/17 - 4/19 + 2/20
= 3.1418396189XXX......
일반적으로,
1 3 5 7 9 11 13 15 17 19 ...... 홀수에서
1 5 9 13 17 21 ...... 을 홀수번째홀수
3 7 11 15 19 ....... 를 짝수번째홀수라고 하면,
4 - 4/3 + 4/5 - 4/7 + 4/9 - 4/11 + ...... + 4/홀수번째홀수 - 4/짝수번째홀수 + ......
+ 4/홀수번째홀수 - 4/(그다음홀수인짝수번째홀수) + 2/(그다음수인짝수)
꼴의 식은 길어짐에 따라 원래 라이프니츠 급수보다 훨씬 빠르게 원주율에 수렴합니다.
for i in range(1, 10000001):
if i % 2 == 1:
j += 4/(2*i-1)
else:
j -= 4/(2*i-1)
j += 2/(2*10000000)
print(j)
3.1415926535897913
j = 0
for i in range(0, 10000000):
if i % 2 == 1:
j += 4/(2*(10000000-i)-1)
else:
j -= 4/(2*(10000000-i)-1)
j += 2/(2*10000000)
print(j)
실제로 거꾸로 계산하면 3.141592653589793으로 절사 오차가 작아집니다!
15자리까지의 데모에는 매우 간결한 수식입니다. (라이프니츠는 6 자리 얻는것도 골이 아픕니다.)
for i in range(1, 1000000001):
if i % 2 == 1:
j += 40000000000000000000000000000000000000000//(2*i-1)
else:
j -= 40000000000000000000000000000000000000000//(2*i-1)
if i % 100000000 == 0:
print(f"{i//10000000}%, {j}")
j += 20000000000000000000000000000000000000000//(2*1000000000)
print(j)
십억항 (짝수분모를 가진 분수 합산까지 포함하면 10억 1항) 계산 결과입니다.
10%, 31415926435897932384626436332795028837320 : 1억항
20%, 31415926485897932384626434145295028835903 : 2억항
30%, 31415926502564599051293100592054288095099 : 3억항
40%, 31415926510897932384626433871857528836019 : 4억항
50%, 31415926515897932384626433852795028832990 : 5억항
60%, 31415926519231265717959767177702436237921 : 6억항
70%, 31415926521612218098912148125797944280340 : 7억항
80%, 31415926523397932384626433837677841324720 : 8억항
90%, 31415926524786821273515322725113272994147 : 9억항
100%, 31415926525897932384626433835295028819736 : 십억항
31415926535897932384626433835295028819736 : 십억일항 (단순 라이프니츠 교대급수에서 +2/2000000000 보정)
장치 이름 {비공개}
프로세서 AMD Ryzen 7 7735U with Radeon Graphics (2.70 GHz)
설치된 RAM 16.0GB(15.2GB 사용 가능)
그래픽 카드 AMD Radeon (TM) Graphics (486 MB)
저장소 477 GB 중 462 GB이(가) 사용됨
장치 ID {비공개}
제품 ID {비공개}
시스템 종류 64비트 운영 체제, x64 기반 프로세서
펜 및 터치 이 디스플레이에 사용할 수 있는 펜 또는 터치식 입력이 없습니다.