python计算圆周率_用python程序求圆周率到任意位

因为根据马青公式π/4=4arctg1/5-arctg1/239

又因为arctgX=X-(1/3)X^3+(1/5)X^5-(1/7)X^7+......+[(-1)^(n-1)/((2n-1)]*X^(2n-1))

变形得π/4=(4/5-1/239)-1/3(4/5^3-1/239^3)+1/5(4/5^5-1/239^5)……

所以可以用python语言编写出求圆周率到任意位的程序如下:

#!/usr/bin/env python #路径引导

# -*- coding: cp936 -*- #包含中文注释标记

n = int(raw_input('请键入想要计算到小数点后的位数n:')) #先键入字符串,再转化为整数

w = n+10 #多计算10位,防止尾数取舍的影响

b = 10**w #算到小数点后w位

x1 = b*4//5 #求含4/5的首项

x2 = b// -239 #求含1/239的首项

he = x1+x2 #求第一大项

n *= 2 #设置下面循环的终点,即共计算n项

for i in xrange(3,n,2): #循环初值=3,末值2n,步长=2

x1 //= -25 #求每个含1/5的项及符号

x2 //= -57121 #求每个含1/239的项及符号

x = (x1+x2) // i #求两项之和

he += x #求总和

pai = he*4 #求出π

pai //= 10**10 #舍掉后十位

print pai #输出圆周率π的值,

#在ThinkPad SL500笔记本电脑上,把π计算到小数点后1万位用时1秒47,十万位用时1分5秒74

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值