圆周率快查

根据数列

public class Example {

public static void main(String[] args) {

double pi = 0.0;

for (double i = 1.0; i < 10000000000.0; i++) {

pi += 4 * (i % 2 == 0 ? -1 : 1) / (2 * i - 1);

}

System.out.println(pi);

}

}

使用泰勒公式

import java.math.BigDecimal;

public class Example {

private static int n = 50000;

public static void main(String[] args) {

BigDecimal part1 = arctan(57).multiply(new BigDecimal(176));

BigDecimal part2 = arctan(239).multiply(new BigDecimal(28));

BigDecimal part3 = arctan(682).multiply(new BigDecimal(-48));

BigDecimal part4 = arctan(12943).multiply(new BigDecimal(96));

BigDecimal part = part1.add(part2).add(part3).add(part4);

System.out.println(part.toString());

}

public static BigDecimal arctan(int x) {

int n2 = n + 2;

BigDecimal result = BigDecimal.ZERO;

BigDecimal xsquare = new BigDecimal(x * x);

BigDecimal bigx = new BigDecimal(x);

BigDecimal temp;

BigDecimal res = BigDecimal.ONE.divide(bigx, n2, BigDecimal.ROUND_HALF_EVEN);

boolean b = true;

for (int i = 1;; i += 2) {

temp = res.divide(new BigDecimal(i), n2, BigDecimal.ROUND_HALF_EVEN);

if (temp.compareTo(BigDecimal.ZERO) == 0) {

break;

}

if (b) {

result = result.add(temp);

} else {

result = result.subtract(temp);

}

b = !b;

res = res.divide(xsquare, n2, BigDecimal.ROUND_HALF_EVEN);

}

return result;

}

}

java 圆周率_Java 计算圆周率相关推荐

  1. java 年龄_Java 计算年龄

    定义一个Birthday类,其成员变量有3个整形变量(出生的年月日):year,month,day:提供构造方法对这3个成员变量进行初始化:提供成员变量的get.set方法:成员函数有getAge() ...

  2. java 方差_java计算方差、标准差(均方差)实例代码

    java计算标准差思路 //方差s^2=[(x1-x)^2 +...(xn-x)^2]/n 或者s^2=[(x1-x)^2 +...(xn-x)^2]/(n-1) public static doub ...

  3. java时间间隔_java 计算两个 日期时间 相间隔多少天小时分钟 等

    1.时间转换 data默认有toString() 输出格林威治时间,比如说Date date = new Date(); String toStr = date.toString(); 输出的结果类似 ...

  4. java中位数_java 计算中位数方法

    最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个 先说说什么是中位数: 中位数就是中间的那个数, 如果一个集合是奇 ...

  5. java复杂性_java – 计算Big-O复杂性

    我最终会给这个程序一个类似60,000个400像素图像的输入文件,所以我试着想一想这个代码如何用大输入运行.为了便于阅读,我用"blah"和所有带有简单字母(nn,mm和kk)的A ...

  6. linux运算圆周率代码,计算圆周率pi的代码

    计算至小数点后1000位: #include long a = 10000, b = 0, c = 2800, d, e, f[2801], g; void main() { for (; b - c ...

  7. java 节气_java计算某个日期是什么节气(24节气)

    packagecom.hxk.util;importjava.util.ArrayList;importjava.util.Calendar;importjava.util.Date;/*** Cre ...

  8. java语言计算圆周率_Java语言简单计算圆周率完整示例

    本文实例讲述了Java语言简单计算圆周率完整示例.分享给大家供大家参考,具体如下,希望对大家学习Java语言简单计算圆周率有所帮助. 这两天在网上看到一个题,已知Pi可以用函数4 * (1 – 1/3 ...

  9. java中怎么引用圆周率_Java简单计算圆周率完整示例

    本文实例讲述了java简单计算圆周率.分享给大家供大家参考,具体如下: 这两天在网上看到一个题,已知pi可以用函数4 * (1 – 1/3 + 1/5 – 1/7 + -) 计算,计算出小数点后五位( ...

最新文章

  1. Win10如何远程连接Windows Server 2008,以及提示“您的凭证不工作”问题解决
  2. jquery 获取前两个table里的每个tr里面的第二个td
  3. C#语言使用多态(接口与override) ——帮您剔除对面向对象多态性的疑惑
  4. MySql Socket 完成数据库的增查Demo
  5. JS 获取浏览器信息,给出友情提示,避免部分兼容性问题
  6. es6语法在ios低版本的支持性
  7. Anaconda——如何“重命名”conda虚拟环境(通过复制和删除操作实现)
  8. libpython3.7m so静态库_libpython3.7m.dll
  9. Liunx 环境 docker-安装redis11
  10. 时间复杂度,贪心算法解最大团问题,回溯算法解0-1背包问题(仅步骤)
  11. 第四季-专题14-串口驱动程序设计
  12. Python3下的WIFI密码爆破
  13. BUG计算机术语,程序员bug什么意思
  14. java计算税率例子
  15. 华为HCIE这么多的认证方向,哪个方向最有价值,含金量最高?
  16. KSO-docker命令大全,基于Linux服务器CentOS7.5 安装docker
  17. 广州大学计算机学院网安学硕复试经历
  18. 激活win10正式企业版
  19. AIX小机不能启动故障-src:11002630代码故障的处理
  20. ‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

热门文章

  1. pyqt5中显示web页面(外部web、本地web)
  2. 在微信小程序的Page中注入behaviors
  3. 【C#+SQL Server+打印组件】实现电商快递单打印系统 五:自定义组件和快递单模板设计(附源码和资源)
  4. Flutter自定义 TabBar
  5. 大数据企业战略规划高级培训课程
  6. winform实时获取网卡网速全部源码,获取电脑上传下载速
  7. JZOJ 5445 失格
  8. 微信小程序宠物商城项目源码来了~
  9. 【开源】SixChat WebApp 仿微信朋友圈 PHP OR JSP
  10. MacBook Pro M1 Parallels Desktop Ubuntu 共享网络设置静态 IP