파이 값을 임의의 숫자로 계산하는 방법에 대한 Python 예제

不言
풀어 주다: 2018-05-08 11:52:39
원래의
4464명이 탐색했습니다.

이 글은 주로 파이 값을 임의의 숫자로 계산하는 파이썬의 방법을 소개하고, 파이의 계산 원리를 간략하게 분석하며, 파이썬의 파이 계산 관련 조작 기술을 예제 형식으로 분석합니다. 필요한 친구들이 참고할 수 있습니다.

이 문서의 예제에서는 Python의 임의 위치에 대한 pi 값을 계산하는 방법을 설명합니다. 참고하실 수 있도록 공유해 드리며, 세부 내용은 다음과 같습니다.

1. 수요 분석

계산하려는 소수점 이하 자릿수를 입력하고, 파이 값을 계산합니다.

2. 알고리즘: Ma Qing의 공식

π/4=4arctan1/5-arctan1/239

이 공식은 1706년 영국 천문학 교수 John Ma Qing이 발견했습니다. 그는 이 공식을 사용하여 파이를 100자리까지 계산했습니다. Ma Qing의 공식은 각 계산 항목에 대해 십진수 1.4자리의 정밀도를 얻을 수 있습니다. 계산 중 피승수와 피제수가 긴 정수보다 크지 않기 때문에 컴퓨터에서 쉽게 프로그래밍할 수 있습니다.

3. Python 언어로 다음과 같이 임의의 숫자에 대한 파이를 계산하는 프로그램을 작성합니다.

# -*- coding: utf-8 -*-
from __future__ import pision
####################导入时间模块
import time
###############计算当前时间
time1=time.time()
################算法根据马青公式计算圆周率####################
number = int(raw_input('请输入想要计算到小数点后的位数n:'))
# 多计算10位,防止尾数取舍的影响
number1 = number+10
# 算到小数点后number1位
b = 10**number1
# 求含4/5的首项
x1 = b*4//5
# 求含1/239的首项
x2 = b// -239
# 求第一大项
he = x1+x2
#设置下面循环的终点,即共计算n项
number *= 2
#循环初值=3,末值2n,步长=2
for i in xrange(3,number,2):
  # 求每个含1/5的项及符号
  x1 //= -25
  # 求每个含1/239的项及符号
  x2 //= -57121
  # 求两项之和
  x = (x1+x2) // i
  # 求总和
  he += x
# 求出π
pai = he*4
#舍掉后十位
pai //= 10**10
############ 输出圆周率π的值
paistring=str(pai)
result=paistring[0]+str('.')+paistring[1:len(paistring)]
print result
time2=time.time()
print u'总共耗时:' + str(time2 - time1) + 's'
로그인 후 복사

실행 결과:

뒤에 자릿수를 입력하세요. 계산하려는 소수점 n:20
3.14159265358979323846
총 소요 시간: 9.77699995041s

계산하려는 소수점 이하 자릿수를 입력하세요. n:50
3.141592653589793238462 6433832795028 8419716939937510
총 소요 시간: 2.30099987984s

실행 중인 스크린샷은 다음과 같습니다.

관련 권장 사항:

Python에서 크롤러 설정 프록시 IP를 구현하고 브라우저로 위장하는 방법

위 내용은 파이 값을 임의의 숫자로 계산하는 방법에 대한 Python 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!