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多线程编程(五):死锁的形成
Apr 05 Python
深入理解Python3 内置函数大全
Nov 23 Python
Python爬虫天气预报实例详解(小白入门)
Jan 24 Python
python OpenCV学习笔记直方图反向投影的实现
Feb 07 Python
关于pymysql模块的使用以及代码详解
Sep 01 Python
jupyternotebook 撤销删除的操作方式
Apr 17 Python
python绘制雷达图实例讲解
Jan 03 Python
Python爬虫数据的分类及json数据使用小结
Mar 29 Python
python 通过使用Yolact训练数据集
Apr 06 Python
Django实现在线无水印抖音视频下载(附源码及地址)
May 06 Python
Python打包为exe详细教程
May 18 Python
关于python类SortedList详解
Sep 04 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
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
基于php的微信公众平台开发入门实例
2015/04/15 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
laravel添加前台跳转成功页面示例
2019/10/22 PHP
javascript知识点收藏
2007/02/22 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
2015/03/02 Javascript
小巧强大的jquery layer弹窗弹层插件
2015/12/06 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
Python 加密的实例详解
2017/10/09 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
python自动化之Ansible的安装教程
2019/06/13 Python
Python3 Tkinkter + SQLite实现登录和注册界面
2019/11/19 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
html5本地存储 localStorage操作使用详解
2016/09/20 HTML / CSS
Bibloo荷兰:女士、男士和儿童的服装、鞋子和配饰
2019/02/25 全球购物
照片礼物和装饰:MyPhoto
2019/11/02 全球购物
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
建筑工程技术应届生自荐信
2013/09/27 职场文书
财务总监管理岗位职责
2014/03/08 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
民主评议党员工作总结
2014/10/20 职场文书
车间主任岗位职责范本
2015/04/08 职场文书
初中地理教学反思
2016/02/19 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书
2019年年中职场激励人心语录30条
2019/08/07 职场文书
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS