Python实现计算圆周率π的值到任意位的方法示例
本文实例讲述了Python实现计算圆周率π的值到任意位的方法。分享给大家供大家参考,具体如下:
一、需求分析
输入想要计算到小数点后的位数,计算圆周率π的值。
二、算法:马青公式
π/4=4arctan1/5-arctan1/239
这个公式由英国天文学教授约翰·马青于1706年发现。他利用这个公式计算到了100位的圆周率。马青公式每计算一项可以得到1.4位的十进制精度。因为它的计算过程中被乘数和被除数都不大于长整数,所以可以很容易地在计算机上编程实现。
三、python语言编写出求圆周率到任意位的程序如下:
# -*- coding: utf-8 -*-
from __future__ import division
####################导入时间模块
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):
# 求出π
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'
运行结果:
运行截图如下:
相关文章
- Python操作Mysql实例代码教程在线版(查询手册)_python
- Python字符串拼接的6种方法(转)
- Python简单计算数组元素平均值的方法示例
- 小白学 Python 爬虫(28):自动化测试框架 Selenium 从入门到放弃(下)
- python中验证码连通域分割的方法详解
- Python实现计算圆周率π的值到任意位的方法示例
- python通过post提交数据的方法
- Python 重解零基础100题(9)
- Python集合类型详解(二)——集合处理方法与应用场景
- Python编程语言学习:python语言中快速查询python自带模块&函数的用法及其属性方法、如何查询某个函数&关键词的用法、输出一个类或者实例化对象的所有属性和方法名之详细攻略
- Python编程语言学习:包导入和模块搜索路径(包路径)简介、使用方法(python系统环境路径的查询与添加)之详细攻略
- Python编程语言学习:python语言中快速查询python自带模块&函数的用法及其属性方法、如何查询某个函数&关键词的用法、输出一个类或者实例化对象的所有属性和方法名之详细攻略
- Python编程语言学习:python编程语言中重要函数讲解之map函数等简介、使用方法之详细攻略
- Python语言学习之字符串那些事:python和字符串的使用方法之详细攻略
- Python语言学习之常见语句命令那些事:python和常见语句命令(条件语句、pass语句)使用方法之详细攻略
- Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略
- Py之dominate:python的dominate库的简介、安装、使用方法之详细攻略
- Py之imgaug:Python库之imgaug简介、安装、使用方法之详细攻略
- 100天精通Python(数据分析篇)——第73天:Pandas文本数据处理方法之查找、替换、拼接、正则、虚拟变量
- 基于交替方向乘法(ADMM)的PAPR约束下传输波束成形器设计的方法研究(Python代码实现)
- 0基础如何学习Python?4种方法告诉你!
- Python求两个list的交集、并集、补集、对称差集的两种方法
- python工具方法 23 应用于语义分割的F1,recall,precision,iou,kappa系数的计算工具(支持ignore_index)