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导出数据到Excel可读取的CSV文件的方法
May 12 Python
浅谈python中的getattr函数 hasattr函数
Jun 14 Python
Python3实现并发检验代理池地址的方法
Sep 18 Python
python爬取拉勾网职位数据的方法
Jan 24 Python
Django学习笔记之ORM基础教程
Mar 27 Python
Numpy截取指定范围内的数据方法
Nov 14 Python
使用python telnetlib批量备份交换机配置的方法
Jul 25 Python
pytorch索引查找 index_select的例子
Aug 18 Python
python内打印变量之%和f的实例
Feb 19 Python
python爬虫容易学吗
Jun 02 Python
python将YUV420P文件转PNG图片格式的两种方法
Jan 22 Python
7个关于Python的经典基础案例
Nov 07 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
无线电的诞生过程
2021/03/01 无线电
咖啡店都有些什么常规豆子呢?有什么风味在里面
2021/03/04 咖啡文化
杏林同学录(二)
2006/10/09 PHP
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
2010/04/28 PHP
利用php生成验证码
2017/02/23 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
php 生成加密公钥加密私钥实例详解
2017/06/16 PHP
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
2020/12/13 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
JavaScript初学者必看“new”
2017/06/12 Javascript
javascript 玩转Date对象(实例讲解)
2017/07/11 Javascript
关于jQuery里prev()的简单操作代码
2017/10/27 jQuery
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
vue的hash值原理也是table切换实例代码
2020/12/14 Vue.js
python中sets模块的用法实例
2014/09/30 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
2019/03/05 Python
详解Python3中的 input() 函数
2020/03/18 Python
什么是Python中的顺序表
2020/06/02 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
2021/01/21 Python
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
前台文员我鉴定
2014/01/12 职场文书
劲霸男装广告词改编版
2014/03/21 职场文书
校庆口号
2014/06/20 职场文书
体育教师求职信
2014/06/30 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
公路施工安全责任书
2015/05/08 职场文书
Nginx反向代理学习实例教程
2021/10/24 Servers