圆周率快查

根据数列

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. hdoj1175 连连看(dfs+剪枝)
  2. 一步一步做高性能服务器(C++) -- Day 1
  3. POJ-2531 Network Saboteur 枚举||随机化
  4. LeetCode Search Insert Position (二分查找)
  5. 黑马2016java_2016年成功的Java开发人员简介
  6. 栈应用:实现二进制转八进制、十进制、十六进制
  7. Django之一个简单的图书管理系统(单表)
  8. Trick(四)——翻转字符串的实现
  9. 服务器和交换机物理连接_连接网络的枢纽,网络交换机详解
  10. 终于把tomcat给搞定了
  11. comsol光学仿真03
  12. mac忘记mysql初始密码怎么办_Mac下忘记Mysql密码重新设置密码的图文教程
  13. vscode编程常用快捷键
  14. TCP全连接端口扫描器
  15. [数学学习笔记]函数的连续性
  16. PCB的安装与元器件的绘制
  17. 剑指offe JZ18 删除链表的节点
  18. UML建模之用例图(重点讲extend和include关系)
  19. 2019 高校运维赛 writeup
  20. 统一告警平台设计方案

热门文章

  1. 通过python实现企业微信公众号链接+图文推送
  2. plantuml中如何加颜色
  3. 百度正式发布搜索推广专业版凤巢系统
  4. The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files
  5. 享元模式(Flyweight模式)
  6. php behaviors,YII框架行为behaviors用法详解
  7. android的手机壳,Android手机壳专场,送礼自用两相宜
  8. 央视看上绿色P2P网站
  9. 除号java_【除号66】loadrunner-java虚拟用户小结 (准备篇)
  10. win7系统防火墙设置(转)