ホームページ  >  記事  >  バックエンド開発  >  円周率の値を任意の桁に計算する方法の Python の例

円周率の値を任意の桁に計算する方法の Python の例

不言
不言オリジナル
2018-05-08 11:52:394541ブラウズ

この記事では、Python の円周率の値を任意の桁に計算する方法を主に紹介し、円周率の計算原理を簡単に分析し、Python の円周率計算の関連操作スキルを例の形式で分析します。

この記事の例では、Python で任意の位置への pi の値を計算する方法を説明します。参考までに皆さんに共有してください。詳細は以下の通りです:

1.需要分析

計算したい小数点以下の桁数を入力し、円周率の値を計算します。

2. アルゴリズム: 馬青の公式

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

この公式は、1706 年に英国の天文学教授ジョン 馬青によって発見されました。彼はこの公式を使用して円周率を 100 桁まで計算しました。 Ma Qing の計算式では、各計算項目について 10 進数 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.14159265358979323846 26433832795028 8419716939937510
合計所要時間: 2.30099987984 秒

実行中のスクリーンショットは次のとおりです:

関連推奨事項:

クローラ設定プロキシIPを実装し、Pythonでブラウザとして偽装する方法

以上が円周率の値を任意の桁に計算する方法の Python の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。