Python计算圆周率,精确到n位

本文将使用Python计算圆周率,可精确到n位,n值越大精度越高。

示例代码:

n = int(input('请键入想要计算到小数点后的位数n:')) #先键入字符串,再转化为整数
w = n+10 #多计算10位,防止尾数取舍的影响
b=10**w
x1 = b*4//5 #求含4/5的首项
x2 = b// -239 #求含1/239的首项
he = x1+x2 #求第一大项
n *= 2 #设置下面循环的终点,即共计算n项
for i in range(3,n,2):
    #循环初值=3,末值2n,步长=2
    x1 //= -25 #求每个含1/5的项及符号
    x2 //= -57121
    #求每个含1/239的项及符号
    x = (x1+x2) // i
    #求两项之和
    he += x
    #求总和
    pi = he*4
    #求出π pi //= 10**10
    #舍掉后十位
print(pi)

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/python-pi.html

分类: 计算机技术
推荐阅读:
C语言获取整行输入的多种方法 在C语言中,有多种方法可以实现从标准输入流(stdin)中读取整行输入;最常见的方法是使用例如fgets()、scanf()、getchar()这些函数;
Python实现斐波那契数列(使用通项公式) 本文将使用Python编写程序,根据斐波那契数列的通项公式得出第n项的值;
斐波那契数列C语言多种实现方法 本文将使用C语言通过递归、动态规划、通项公式等技巧来计算斐波那契数列;并获得斐波那契数列的第n项值;
Golang实现冒泡排序算法(Bubble Sort) 本文将使用Go语言完成冒泡排序算法(Bubble Sort)的实现;
Golang Web编程入门示例 Go语言内置了Web服务;net/http 标准库中包含有关HTTP协议的所有功能。这其中包括HTTP客户端和HTTP服务端,在本文中,你将发现使用GO创建一个可在浏览器中查看的WEB服务程序非常简单。
Python setattr()函数 在 Python 中,setattr() 函数用于设置对象的属性值。它接受三个参数:要设置属性的对象、属性名称和属性值。如果对象已经存在具有相同名称的属性,则该属性的值将被覆盖。