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获取标准北京时间的方法
Mar 24 Python
PyChar学习教程之自定义文件与代码模板详解
Jul 17 Python
python3正则提取字符串里的中文实例
Jan 31 Python
python图形工具turtle绘制国际象棋棋盘
May 23 Python
Python基本数据结构之字典类型dict用法分析
Jun 08 Python
Python小程序 控制鼠标循环点击代码实例
Oct 08 Python
Python切图九宫格的实现方法
Oct 10 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
Oct 14 Python
使用pyqt5 tablewidget 单元格设置正则表达式
Dec 13 Python
Python基于正则表达式实现计算器功能
Jul 13 Python
用pandas划分数据集实现训练集和测试集
Jul 20 Python
python爬虫中采集中遇到的问题整理
Nov 27 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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
生成卡号php代码
2008/04/09 PHP
php session_start()出错原因分析及解决方法
2013/10/28 PHP
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
jQuery Ajax调用WCF服务详细教程
2015/03/31 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
浅谈javascript中onbeforeunload与onunload事件
2015/12/10 Javascript
JavaScript跨域调用基于JSON的RESTful API
2016/07/09 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
解决JS外部文件中文注释出现乱码问题
2017/07/09 Javascript
vue组件父子间通信详解(三)
2017/11/07 Javascript
Node.JS循环删除非空文件夹及子目录下的所有文件
2018/03/12 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
进一步探究Python中的正则表达式
2015/04/28 Python
Python json模块dumps、loads操作示例
2018/09/06 Python
Pycharm取消py脚本中SQL识别的方法
2018/11/29 Python
基于树莓派的语音对话机器人
2019/06/17 Python
python数据处理之如何选取csv文件中某几行的数据
2019/09/02 Python
python绘制彩虹图
2019/12/16 Python
Django中FilePathField字段的用法
2020/05/21 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2020/07/14 Python
Python实现对word文档添加密码去除密码的示例代码
2020/12/29 Python
CSS3实现水平居中、垂直居中、水平垂直居中的实例代码
2020/02/27 HTML / CSS
美国汽配连锁巨头Pep Boys官网:轮胎更换、汽车维修服务和汽车零部件
2017/01/14 全球购物
出口公司经理求职简历中的自我评价
2013/10/13 职场文书
党员年终民主评议的自我评价
2013/11/05 职场文书
自荐书封面下载
2013/11/29 职场文书
大学军训感言300字
2014/03/09 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
上班迟到检讨书
2014/09/15 职场文书
车间主任岗位职责
2015/02/03 职场文书
python+opencv实现视频抽帧示例代码
2021/06/11 Python
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server