Python计算开方、立方、圆周率,精确到小数点后任意位的方法


Posted in Python onJuly 17, 2018

Python计算的位数

在电脑上做了一个实验,看看python能计算到多少位,一下是结果。

x = math.sqrt((3))
print ("%.53f"%(x))
print ("%.63f"%(x))
print ("%.83f"%(x))
1.73205080756887719317660412343684583902359008789062500
1.732050807568877193176604123436845839023590087890625000000000000
1.73205080756887719317660412343684583902359008789062500000000000000000000000000000000
1.73205080756887719317660412343684583902359008789062500000000000000000000000000000000

计算立方根公式

设A = X^3,求X.称为开立方。 开立方有一个标准的公式:

Python计算开方、立方、圆周率,精确到小数点后任意位的方法

例如,A=5,,即求5介于1的3次方至2的3次方之间(1的3次方=1,2的3次方=8)

初始值X0可以取1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,都可以。例如我们取X0 = 1.9按照公式:

第一步:X1=1.9+(5/1.9²-1.9)1/3=1.7;

即5/1.9×1.9=1.3850416,1.3850416-1.9=-0.5149584,-0.5149584×1/3=-0.1716528,1.9+(-0.1716528)=1.7。即取2位数值,,即1.7。

第二步:X2=1.7+(5/1.7²-1.7)1/3=1.71;

即5/1.7×1.7=1.73010,1.73-1.7=0.03,0.03×1/3=0.01,1.7+0.01=1.71。取3位数,比前面多取一位数。

第三步:X3=1.71+(5/1.71²-1.71)1/3=1.709;

第四步:X4=1.709+(5/1.709²-1.709)1/3=1.7099;

这种方法可以自动调节,第一步与第三步取值偏大,但是计算出来以后输出值会自动转小;第二步,第四步输入值偏小,输出值自动转大。即5=1.7099³ 当然初始值X0也可以取1.1,1.2,1.3,。。。1.8,1.9中的任何一个,都是X1 = 1.7 。当然,我们在实际中初始值最好采用中间值,即1.5。 1.5+(5/1.5²-1.5)1/3=1.7。

增加计算步骤,可以得到任意精度的值

计算根号2任意位数

开平方公式

如果用这个公式开平方,只需将3改成2,2改成1。即

Python计算开方、立方、圆周率,精确到小数点后任意位的方法

import sys
n = 2
s = 0
while True:
 for si in range(9,-1,-1):
 nx = n - ((2*s*10+si)*si)
 if nx>=0:
  s = s*10+si
  n = nx*100
  sys.stdout.write(str(si))
  sys.stdout.flush()
  break

计算开5次方公式,精确至任意位数

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语言编写出求圆周率到任意位的程序如下:

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 #输出圆周率π的值,

以上这篇Python计算开方、立方、圆周率,精确到小数点后任意位的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 域名分析工具实现代码
Jul 15 Python
Python实现计算圆周率π的值到任意位的方法示例
May 08 Python
分享Python切分字符串的一个不错方法
Dec 14 Python
Python小白必备的8个最常用的内置函数(推荐)
Apr 03 Python
解决python 3 urllib 没有 urlencode 属性的问题
Aug 22 Python
python elasticsearch环境搭建详解
Sep 02 Python
使用PyOpenGL绘制三维坐标系实例
Dec 24 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
Apr 01 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
Jun 02 Python
详解Python设计模式之策略模式
Jun 15 Python
python编程项目中线上问题排查与解决
Nov 01 Python
python 判断文件或文件夹是否存在
Mar 18 Python
python把数组中的数字每行打印3个并保存在文档中的方法
Jul 17 #Python
python3.x 将byte转成字符串的方法
Jul 17 #Python
Python 字符串转换为整形和浮点类型的方法
Jul 17 #Python
Python操作word常见方法示例【win32com与docx模块】
Jul 17 #Python
python查看列的唯一值方法
Jul 17 #Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
Jul 17 #Python
python 数字类型和字符串类型的相互转换实例
Jul 17 #Python
You might like
网页的分页下标生成代码(PHP后端方法)
2016/02/03 PHP
PHP基于面向对象实现的留言本功能实例
2018/04/04 PHP
javascript下阻止表单重复提交、防刷新、防后退
2007/08/17 Javascript
jquery ajax执行后台方法
2010/03/18 Javascript
关于javascript中的typeof和instanceof介绍
2012/12/04 Javascript
JavaScript语言核心数据类型和变量使用介绍
2013/08/23 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
js运动应用实例解析
2015/12/28 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
实例解析js中try、catch、finally的执行规则
2017/02/24 Javascript
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
vue better-scroll插件使用详解
2018/01/25 Javascript
解决vue build打包之后首页白屏的问题
2018/03/06 Javascript
vue-cli3.0使用及部分配置详解
2018/08/29 Javascript
jQuery实现移动端图片上传预览组件的方法分析
2020/05/01 jQuery
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
2020/04/08 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
css3实现3d旋转动画特效
2015/03/10 HTML / CSS
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
世界经理人咨询有限公司面试
2014/09/23 面试题
Java中的基本数据类型所占存储空间大小固定的吗
2012/02/15 面试题
高校自主招生自荐信
2013/12/09 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
中队活动总结
2014/08/27 职场文书
小学教师师德师风个人整改措施
2014/09/18 职场文书
秋季运动会加油词
2015/07/18 职场文书
CSS预处理框架——Stylus
2021/04/21 HTML / CSS
浅谈pytorch中stack和cat的及to_tensor的坑
2021/05/20 Python
python办公自动化之excel的操作
2021/05/23 Python
详解Java实现数据结构之并查集
2021/06/23 Java/Android
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技