拉马努金的几个神仙公式。据说他的论文里一共发表了14条圆周率的计算公式,但目前只收集到十个。

1π=18∑m=0∞(20m+3)(−1)m(4m)!(42)4m(m!)41π=123∑m=0∞(8m+1)(4m)!(43)4m(m!)41π=316∑m=0∞(28m+3)(−1)m(4m)!(643)2m(m!)41π=229∑m=0∞(10m+1)(4m)!124m(m!)41π=172∑m=0∞(260m+23)(−1)m(4m)!(122)4m(m!)41π=3349∑m=0∞(40m+3)(4m)!284m(m!)41π=11811∑m=0∞(280m+19)(4m)!(1211)4m(m!)41π=5288∑m=0∞(644m+41)(−1)m(4m)!(11525)2m(m!)41π=2842∑m=0∞(21460m+1123)(−1)m(4m)!(842)4m(m!)41π=22992∑m=0∞(26390m+1103)(4m)!3964m(m!)4\begin{aligned} \frac{1}{\pi} &=\frac{1}{8} \sum^{\infty}_{m=0}(20m+3)\frac{(-1)^m(4m)!}{(4\sqrt{2})^{4m}(m!)^4} & \quad \frac{1}{\pi} &=\frac{1}{2\sqrt{3}} \sum^{\infty}_{m=0}(8m+1)\frac{(4m)!}{(4\sqrt{3})^{4m}(m!)^4} \\ \frac{1}{\pi} &=\frac{\sqrt3}{16} \sum^{\infty}_{m=0}(28m+3)\frac{(-1)^m(4m)!}{(64\sqrt{3})^{2m}(m!)^4} & \quad \frac{1}{\pi} &=\frac{2\sqrt{2}}{9} \sum^{\infty}_{m=0}(10m+1)\frac{(4m)!}{12^{4m}(m!)^4} \\ \frac{1}{\pi} &=\frac{1}{72} \sum^{\infty}_{m=0}(260m+23)\frac{(-1)^m(4m)!}{(12\sqrt{2})^{4m}(m!)^4} & \quad \frac{1}{\pi} &=\frac{3\sqrt3}{49} \sum^{\infty}_{m=0}(40m+3)\frac{(4m)!}{28^{4m}(m!)^4} \\ \frac{1}{\pi} &=\frac{1}{18\sqrt{11}} \sum^{\infty}_{m=0}(280m+19)\frac{(4m)!}{(12\sqrt{11})^{4m}(m!)^4} & \quad \frac{1}{\pi} &=\frac{\sqrt{5}}{288} \sum^{\infty}_{m=0}(644m+41)\frac{(-1)^m(4m)!}{(1152\sqrt{5})^{2m}(m!)^4} \\ \frac{1}{\pi} &=\frac{2}{84^2} \sum^{\infty}_{m=0}(21460m+1123)\frac{(-1)^m(4m)!}{(84\sqrt{2})^{4m}(m!)^4} & \quad \frac{1}{\pi} &=\frac{2\sqrt{2}}{99^2} \sum^{\infty}_{m=0}(26390m+1103)\frac{(4m)!}{396^{4m}(m!)^4} \end{aligned} π1​π1​π1​π1​π1​​=81​m=0∑∞​(20m+3)(42​)4m(m!)4(−1)m(4m)!​=163​​m=0∑∞​(28m+3)(643​)2m(m!)4(−1)m(4m)!​=721​m=0∑∞​(260m+23)(122​)4m(m!)4(−1)m(4m)!​=1811​1​m=0∑∞​(280m+19)(1211​)4m(m!)4(4m)!​=8422​m=0∑∞​(21460m+1123)(842​)4m(m!)4(−1)m(4m)!​​π1​π1​π1​π1​π1​​=23​1​m=0∑∞​(8m+1)(43​)4m(m!)4(4m)!​=922​​m=0∑∞​(10m+1)124m(m!)4(4m)!​=4933​​m=0∑∞​(40m+3)284m(m!)4(4m)!​=2885​​m=0∑∞​(644m+41)(11525​)2m(m!)4(−1)m(4m)!​=99222​​m=0∑∞​(26390m+1103)3964m(m!)4(4m)!​​

1989年,大卫·丘德诺夫斯基和格雷高里·丘德诺夫斯基兄弟将拉马努金公式改良。
1π=12∑m=0∞545140134m+135914096403203m+32×(−1)m(6m)!(3m)!(m!)3\frac{1}{\pi}=12\sum^{\infty}_{m=0} \frac{545140134m+13591409}{640320^{3m+\frac{3}{2}}} \times \frac{(-1)^m(6m)!}{(3m)!(m!)^3}π1​=12m=0∑∞​6403203m+23​545140134m+13591409​×(3m)!(m!)3(−1)m(6m)!​

百度拉马努金公式,搜索结果是最后一条,所以公式改良应该也是针对最后一条

用代码验证第一条公式:
我这里循环写到了26。因为循环在26到43之间取值都一样,毕竟笔记本精度有限;当超过43时,程序运行出错,毕竟笔记本能力有限

import mathsum = 0
for m in range(26):x = (20*m+3)*((-1)**m)*math.factorial(4*m)y = ((4*math.sqrt(2))**(4*m))*(math.factorial(m))**4sum = sum + x/ypi = 8/sum# π = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510
print(pi)print(math.pi)'''
可以看到效果还是很不错的,起码比math库多一位,但真实值应该是2,准确度还差点。
3.1415926535897936
3.141592653589793
'''

改良公式:(改良还是有道理的,2到18取值一样,超过18,程序出错)

import mathsum = 0
for m in range(2):x = (545140134*m+13591409)*((-1)**m)*math.factorial(6*m)y = ((640320)**(3*m+1.5)) * (math.factorial(3*m)) * (math.factorial(m))**3sum = sum + x/ypi = 1/(12*sum)# π = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510
print(pi)print(math.pi)'''
3.1415926535897936
3.141592653589793
'''

写了个Java代码,发现效果并不理想,循环超过10,输出就为NaN。
以下Java代码输出结果为:3.1463949385904666。而同是循环10次的python结果为:3.141593404158244
除了Math函数自身会将数值部分丢失,最大的问题就是Java的数据类型限制了范围。

    public static void main(String[] args) {Double sum = 0.0;for (int m = 0; m < 10; m++) {Double x = (20*m+3)*(Math.pow(-1, m))*factorial(4*m);Double y = (Math.pow(4*Math.sqrt(2), 4*m))*power(factorial(m),4);sum += x/y;}Double pi = 8/sum;System.out.println(pi);}// 利用递归计算阶乘public static int factorial(int num){int sum = 1;if(num==1 || num==0){return 1;}else{sum=num * factorial(num-1);//运用递归计算return sum;}}// 计算次方public static int power(int num, int n){int pow = 1;for (int i = 0; i < n; i++) {pow *= num;}return pow;}

拉马努金的圆周率计算公式相关推荐

  1. 利用拉马努金公式和蒙特卡洛方法计算圆周率

    拉马努金公式 #求阶乘函数 def myreduce(m):value = 1for i in range(1,m+1):value = value*ireturn value#求和项的函数 def ...

  2. 拉马努金,天才之超越

    作者:梁志凡 2013-02-01 13:11:02来源:南方周末 标签 拉马努金 印度之子 数学天才 这位泰戈尔的同胞来自印度南端的泰米尔纳德邦,从未接受过正规数学训练的他具有惊人的数学直觉,独立发 ...

  3. 从拉马努金到张益唐——数学是一个整体

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 分享到: ...

  4. 使用Python通过拉马努金公式快速求π

    使用Python通过拉马努金公式快速求π 一.前言 π是一个数学常数,定义为:圆的周长与直径的比值. π是一个无理数,也是一个超越数,它的小数部分无限不循环. π可以用来精确计算圆周长.圆面积.球体积 ...

  5. boost::graph模块实现拉马努金图的周长和直径的测试程序

    boost::graph模块实现拉马努金图的周长和直径的测试程序 实现功能 C++实现代码 实现功能 boost::graph模块实现拉马努金图的周长和直径的测试程序 C++实现代码 #include ...

  6. 传奇数学家拉马努金留下的数学神谕,解开了多年悬而未决的神秘难题

    ◆ ◆ ◆ 序 印度数学奇才斯里尼瓦瑟· 拉马努金在短短的一生中写下了大量论文,虽然多数文章在生前未得以发表,但借助其中一些文章中的全新见解,数学家肯恩· 小野解开了长久以来悬而未决的神秘数学难题. ...

  7. 拉马努金:“与神对话”的数学天才

    不管你 一个无法表达神的思想的方程, 对我而言毫无意义 -- 斯里尼瓦瑟·拉马努金 本文摘自人民邮电出版社图灵文化出版的图书<悠扬的素数:二百年数学绝唱黎曼假设> 当哈代和利特尔伍德步履维 ...

  8. 拉马努金的整数拆分全排列JAVA实现非递归

    拉马努金的整数拆分全排列JAVA实现非递归 点这里: 递归方式 结果是:组合成100的可能性共有:190569292种!! 不做详细说明了,需要看文字描述的,点上面链接跳转递归方式,查看详细说明 来, ...

  9. “神奇”的拉马努金矩阵

    我们先来聊聊拉马努金. 斯里尼瓦瑟·拉马努金(泰米尔语:ஸ்ரீனிவாஸ ராமானுஜன் ஐயங்கார்,ISO 15919转写:Srīṉivāsa Rāmāṉujan Aiyaṅkār,又译 ...

最新文章

  1. 卷积后feature map尺寸计算公式
  2. 选择奋斗---激励自己
  3. Atom-无懈可击的Markdown编辑器
  4. Ubuntu 16.04安装 sogou 遗留下的问题
  5. 微信小程序 fire_如何在Fire TV和Fire TV Stick上侧面加载应用程序
  6. GPRS底层API(转)
  7. 【VSCode】VSCode使用conda环境时找不到python包/找不到Module
  8. 白嫖船长几节课(2)
  9. 很不错的python 机器学习博客
  10. 云计算实战系列六(Linux进程管理)
  11. 数据结构与算法笔记(五) 链表的应用
  12. 数据安全治理所遵循的有哪些原则
  13. 经典排序算法(七)--冒泡排序Bubble Sort
  14. Docker提高拉取官网镜像的速度
  15. Ubuntu系统最简GCC安装方法
  16. 分享一个去水印接口,完全免费,早点下手啊
  17. After Effects CS4 \CS5\CS6\CC2015\CC2017\CC2018\CC2019安装包及教程
  18. 利用接口检查日期是否为法定节假日
  19. 从隐式转换案例,来挖掘开发人员的技能提升
  20. 2019产品数据管理(PDM)技术说明

热门文章

  1. 2、产品经理的工作内容
  2. 记,罗盘时钟使用js实现
  3. word 2010+ 从指定页开始设置页码
  4. 卡车界“特斯拉”Nikola不符合上市标准:市值跌至4亿美元
  5. php苹果内购验证,苹果内购凭据验证工具(苹果支付,苹果内购,凭据解析)
  6. 什么是香港大带宽服务器?
  7. 动一动手指,玩转 Kindle Paperwhite 2 (2015.7.13)
  8. 消费级 工业级 车规级 军工级区别
  9. 哪些PCB缺陷适合用X-ray检测技术?
  10. 前端:页面快速定位和返回顶部(锚点)