python求圆周率马青公式_Python 实现丘德诺夫斯基(Chudnovsky)法計算高精度圓周率...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
源码:(需要将 @ 替换成 ASCII空格)
# -*- coding: UTF-8 -*-
# 丘德诺夫斯基法計算高精度圓周率程序
# Calculating PI with Chudnovsky-Series
# Author: Idealguy,2018, Shanghai
#
import time
# In following functions, High-Prec Nums are both amplified 10**n
# pre-defined: Base=10**n
#
def Sqrt10005(): # Sqrt(10005L) by Imitate-Manual Method
@@@@n1=0
@@@@c=10002499687 #100.02499687
@@@@mc=8; m=mc
@@@@f1=10**mc
@@@@f2=f1*f1
@@@@a=10005*f2-c*c
@@@@while mc
@@@@@@@@a*=f2
@@@@@@@@b=c*2*f1
@@@@@@@@d=a//b
@@@@@@@@c=c*f1+d
@@@@@@@@a-=d*(b+d)
@@@@@@@@mc+=m
@@@@@@@@if mc*2>n: m=n-mc
@@@@@@@@else: m=mc
@@@@@@@@f1=10**m
@@@@@@@@f2=f1*f1
@@@@@@@@n1+=1
@@@@return c
# Main Program
#
print ("Chudnovsky法計算高精度圓周率程序")
while 1:
@@@@n=int(input('計算位數[1..50000],0:退出:'))
@@@@if n<=10: break
@@@@n+=2
@@@@base=10**n
@@@@t=time.clock()
@@@@# Start Calculating
@@@@A=13591409*base; B=A
@@@@c3=13591409
@@@@i=1
@@@@while abs(A)>5:
@@@@@@@@c1=((108-72*i)*i-46)*i+5
@@@@@@@@c2=10939058860032000*i**3
@@@@@@@@c4=c3; c3+=545140134
@@@@@@@@i+=1
@@@@@@@@A=A*c1*c3//(c2*c4) # Must in form: A=A*...
@@@@@@@@B+=A
@@@@p=426880*base*Sqrt10005()//B//100
@@@@# Post access
@@@@print ("用時= %8.3f 秒" % (time.clock()-t))
@@@@s=input('是否显示结果(Y/N):')
@@@@if (s=='Y')|(s=="y"): print ("PI="+str(p))
# end
python求圆周率马青公式_Python 实现丘德诺夫斯基(Chudnovsky)法計算高精度圓周率...相关推荐
- Python 实现丘德诺夫斯基(Chudnovsky)法計算高精度圓周率
[原创] 本文利用Python自带的高精度整型计算功能,实现丘德诺夫斯基(Chudnovsky)法計算高精度圓周率.计算速度比马青公式要快. 经过艰苦的调试,实现该计算,10万位的计算在秒级完成.以下 ...
- Python:实现chudnovsky algorithm楚德诺夫斯基算法(附完整源码)
Python:实现chudnovsky algorithm楚德诺夫斯基算法 from decimal import Decimal, getcontext from math import ceil, ...
- python求伽马分布模型参数_Python实现的各种常见分布算法示例
本文实例讲述了Python实现的各种常见分布算法.分享给大家供大家参考,具体如下: #-*- encoding:utf-8 -*- import numpy as np from scipy impo ...
- Python利用马青公式计算圆周率Π并写入文件
一.什么是马青公式 马青公式由英国天文学教授约翰·马青(John Machin ,1686 –1751)于1706年发现,他利用这个公式计算到了100位的圆周率. 马青公式每计算一项可 ...
- 【Python、数学】计算任意位数的圆周率π(马青公式)
1. 公式准备 计算准确圆周率的马青公式: 对反正切进行级数展开: 就可以得到 π = 16(1/5 - 1/3/5^3 + 1/5/5^5 - ...) - 4(1/239 - 1/3/239^3 ...
- 用马青公式计算圆周率,Python语言
马青公式: 简单实现 import times_time = time.time() #定义计算的位数 num = 100000 #多计算10位,以防出错 num1 = num + 10 #定义计算小 ...
- 利用马青公式输出π的后任意位数字
马青公式 π=16arctan15−4arctan1239π=16arctan15−4arctan1239\pi = 16arctan \frac{1}{5} - 4arctan \frac{1}{2 ...
- 利用Java的BigDecimal与马青公式精确计算π后10000位,
首先给出公式如下: π=16arctan1/5−4arctan1/239: 即是 π=16×(1/(1×5)−1/(3×5的3次方)+1/(5×5的5次方)-)−4×(1/(1×239)−1/(3×2 ...
- 用马青公式计算π的c程序
/*一个计算π的c程序 ====================================== 由于大多数计算机内置算法有一定精度限制,你想计算那么多位就会产生问题. 这里有一个c程序,允许计算 ...
最新文章
- 测试用例设计方法-错误推测法
- python和vba操作excel_python调用excel中VBA代码
- 基于JSON的高级AJAX开发技术
- 2_6 CompositeMode.cpp 组合模式
- 术语-服务:PaaS
- 你每隔多久使用计算机上网查找资料英文,牛津英语8B Unit3导学案
- php 501解决办法,PHP 使用错误处理解析
- struct 和enum的用法
- Pygame最小开发框架
- C++:在堆上创建对象,还是在栈上?
- 【转】腾讯云-解决Winscp permission denied的问题
- 淘沙潜行,数一数英雄的多姿,王者荣耀英雄、皮肤、武器展览
- BZOJ2754 [SCOI2012]喵星球上的点名
- unity 脚本把变量放一起,在界面上显示,同时鼠标靠近时有注释出现,变量是滑动条有区间
- 房价必然上涨的N个原因
- 叮咚同城小程序问题:点击发布信息按钮自动闪退到首页的解决方法
- 【讨论】怎么处理工作中的杂事?
- JQ8900语音模块组合播放
- chrome浏览器截图插件有哪些
- ubuntu16.04安装wechat
热门文章
- N本名著浓缩成的N句话
- IO回忆录之怎样过目不忘(BIO/NIO/AIO/Netty)2017版
- 计算机输入法无法启动,win7电脑开机没有输入法怎么办?
- ## 弱鸡的第二次线上赛总结(TKK18no.4)
- 【python+pyqt5】B站直播弹幕姬
- 计算机开始菜单打不开是什么原因,win10开始菜单打不开怎么办啊
- 小凯机器人软件_微信小凯机器人_小凯机器人需要下载吗
- 如何从T-SNE或Umap中找到你想要的点?
- 自从上了K8S,项目更新都不带停机的!
- 千元机Redmi 9A为何能异军突起?