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 冒泡,选择,插入排序使用实例
Feb 05 Python
Python import用法以及与from...import的区别
May 28 Python
Python的爬虫包Beautiful Soup中用正则表达式来搜索
Jan 20 Python
Python 含参构造函数实例详解
May 25 Python
python smtplib模块实现发送邮件带附件sendmail
May 22 Python
Python中super函数用法实例分析
Mar 18 Python
python itchat实现调用微信接口的第三方模块方法
Jun 11 Python
python实现跨excel sheet复制代码实例
Mar 03 Python
在django admin详情表单显示中添加自定义控件的实现
Mar 11 Python
TensorFlow-gpu和opencv安装详细教程
Jun 30 Python
python爬虫利用代理池更换IP的方法步骤
Feb 21 Python
Python 快速验证代理IP是否有效的方法实现
Jul 15 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/05/06 PHP
php递归函数怎么用才有效
2018/02/24 PHP
prototype与jquery下Ajax实现的差别
2009/09/13 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
基于bootstrap实现广告轮播带图片和文字效果
2016/07/22 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
微信小程序点击控件修改样式实例详解
2017/07/07 Javascript
vue给input file绑定函数获取当前上传的对象完美实现方法
2017/12/15 Javascript
Vue filter介绍及详细使用
2018/04/04 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
优雅的在React项目中使用Redux的方法
2018/11/10 Javascript
原生js实现3D轮播图
2020/03/21 Javascript
JavaScript 严格模式(use strict)用法实例分析
2020/03/04 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
基于js实现的图片拖拽排序源码实例
2020/11/04 Javascript
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
python中的二维列表实例详解
2018/06/19 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
python如何实现DES加密
2020/09/21 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
寒假思想汇报
2014/01/10 职场文书
小学安全教育材料
2014/02/17 职场文书
国贸专业自荐信范文
2014/03/02 职场文书
工程类专业自荐信范文
2014/03/09 职场文书
委托书范文
2014/04/02 职场文书
爱国卫生月活动总结范文
2014/04/25 职场文书
2015年度学校应急管理工作总结
2015/10/22 职场文书
小学语文国培研修日志
2015/11/13 职场文书
体育部部长竞选稿
2015/11/21 职场文书
创业计划书之酒厂
2019/10/14 职场文书
MySQL REVOKE实现删除用户权限
2021/06/18 MySQL
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫