用马青公式计算圆周率,Python语言
马青公式:
简单实现
import times_time = time.time()
#定义计算的位数
num = 100000
#多计算10位,以防出错
num1 = num + 10
#定义计算小数位数
b = 10**num1
#前面括号的第一项
x1 = 4*b//5
#后面括号的第一项
x2 = 1*b//(-239)he = x1 + x2
#定义循环截止数
num = 2*num
for i in range(3,num,2):x1 = x1//-25x2 = x2//(-239**2)x = (x1+ x2)//ihe = he + x
he = he *4
#把多计算的10位去掉
pai = he // 10**10
#转成字符串类型
str_pai = str(pai)
#字符串拼接成小数
result = str_pai[0] + '.' + str_pai[1:len(str_pai)]
print(result)
#写出到文件内
with open('pai.txt',mode = 'w') as f:f.write(result)
e_time = time.time()
print("计算耗时:{:.100f}".format(round(e_time-s_time)))
封装方法
"马青公式"
import time
#多计算10位小数,防止出现取值影响
def pai(num):s_time = time.time()num1 = num + 10#定义计算小数位数b = 10**num1x1 = 4*b//5x2 = 1*b//(-239)he = x1 + x2num = 2*numfor i in range(3,num,2):x1 = x1//-25x2 = x2//(-239**2)x = (x1+ x2)//ihe = he + xhe = he *4pai = he // 10**10str_pai = str(pai)result = str_pai[0] + '.' + str_pai[1:len(str_pai)] e_time = time.time()r_time = "计算耗时:{:.10f}s".format(round(e_time-s_time))#print(r_time)#print("计算耗时:{:.10f}s".format(round(e_time-s_time)))with open('pai.txt',mode = 'a',encoding = 'utf8') as f:f.write('\n')f.write(result)f.write('\n')f.write(r_time)
pai(100)
用马青公式计算圆周率,Python语言相关推荐
- Python利用马青公式计算圆周率Π并写入文件
一.什么是马青公式 马青公式由英国天文学教授约翰·马青(John Machin ,1686 –1751)于1706年发现,他利用这个公式计算到了100位的圆周率. 马青公式每计算一项可 ...
- c语言马青公式计算圆周率,数学圆周率计算马青公式π/4=4arctan1/5-arctan1/239如何得出的?...
共回答了16个问题采纳率:87.5% 设 x = arctan A tan x = A tan 2x = (2 tan x) / (1 - tan^2 x) tan 2x = (2A) / (1 - ...
- Machin(梅钦/马青)公式计算圆周率π
作为一名计算机的初学者,因为老师作业的要求去完成圆周率的计算,因此突然产生了兴趣,想尝试自己用梅钦公式来完成这个任务.上网找了一些资料,也看见了短短几行就完成任务的代码,实在佩服,不过那样的代码实在对 ...
- 用马青公式计算π的c程序
/*一个计算π的c程序 ====================================== 由于大多数计算机内置算法有一定精度限制,你想计算那么多位就会产生问题. 这里有一个c程序,允许计算 ...
- 拉马努金公式计算圆周率 Python 3.7
极快的收敛速度,令人惊叹! 转载请注明出处,联系我: t39q@163.com 本人热衷于数据库技术及算法的研究,志同道合之士, 欢迎探讨 import math x=0 for k in range ...
- 【Python、数学】计算任意位数的圆周率π(马青公式)
1. 公式准备 计算准确圆周率的马青公式: 对反正切进行级数展开: 就可以得到 π = 16(1/5 - 1/3/5^3 + 1/5/5^5 - ...) - 4(1/239 - 1/3/239^3 ...
- 利用Java的BigDecimal与马青公式精确计算π后10000位,
首先给出公式如下: π=16arctan1/5−4arctan1/239: 即是 π=16×(1/(1×5)−1/(3×5的3次方)+1/(5×5的5次方)-)−4×(1/(1×239)−1/(3×2 ...
- 利用马青公式输出π的后任意位数字
马青公式 π=16arctan15−4arctan1239π=16arctan15−4arctan1239\pi = 16arctan \frac{1}{5} - 4arctan \frac{1}{2 ...
- 用Machin公式计算圆周率的源程序
用Machin公式计算圆周率的源程序 /* Program to compute PI, by Jason Chen, May 1999 ** ** Open VC++ IDE, new a win3 ...
最新文章
- 正则表达式匹配多行注解/**/
- 访问25%无法访问的人-如何设计可访问性
- [恢]hdu 2021
- TensorFlow之多核GPU的并行运算
- java 异常面试问题_Java异常面试问答
- 无线WIFI I/O控制器技术分享
- Topic 1. SCI 文章中 Meta 分析之 metafor
- 在windows 2003 中,启动SQL Server 2000 提示“没有找到MSVCR71.dll因此这个应用程序未能启动”
- instead of触发器
- HTML 编辑器-网页制作是用什么来做的?-2
- 将 PDF 文件拆分为多个同样页数 pdf 文件的 Windows Powershell 脚本
- R作图配色---颜色提取及色彩搭配
- 7000字和你聊聊如何设计一款高并发架构(建议收藏)
- 在实体PC机上安装Linux系统
- 图神经网络:GAT学习、理解、入坑
- 民生银行分布式NewSQL数据库实践
- 云计算介绍,让你更了解云计算
- Ubuntu12.04如何修改窗口背景色为眼睛保护色来保护眼睛,强力推荐!!
- 系统管理员设置了系统策略,禁止进行此安装”解决方法!
- 倾斜摄影技术构建图扑 WebGIS 智慧展馆