java 圆周率_Java 计算圆周率
圆周率快查
根据数列
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 计算圆周率相关推荐
- java 年龄_Java 计算年龄
定义一个Birthday类,其成员变量有3个整形变量(出生的年月日):year,month,day:提供构造方法对这3个成员变量进行初始化:提供成员变量的get.set方法:成员函数有getAge() ...
- 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 ...
- java时间间隔_java 计算两个 日期时间 相间隔多少天小时分钟 等
1.时间转换 data默认有toString() 输出格林威治时间,比如说Date date = new Date(); String toStr = date.toString(); 输出的结果类似 ...
- java中位数_java 计算中位数方法
最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个 先说说什么是中位数: 中位数就是中间的那个数, 如果一个集合是奇 ...
- java复杂性_java – 计算Big-O复杂性
我最终会给这个程序一个类似60,000个400像素图像的输入文件,所以我试着想一想这个代码如何用大输入运行.为了便于阅读,我用"blah"和所有带有简单字母(nn,mm和kk)的A ...
- linux运算圆周率代码,计算圆周率pi的代码
计算至小数点后1000位: #include long a = 10000, b = 0, c = 2800, d, e, f[2801], g; void main() { for (; b - c ...
- java 节气_java计算某个日期是什么节气(24节气)
packagecom.hxk.util;importjava.util.ArrayList;importjava.util.Calendar;importjava.util.Date;/*** Cre ...
- java语言计算圆周率_Java语言简单计算圆周率完整示例
本文实例讲述了Java语言简单计算圆周率完整示例.分享给大家供大家参考,具体如下,希望对大家学习Java语言简单计算圆周率有所帮助. 这两天在网上看到一个题,已知Pi可以用函数4 * (1 – 1/3 ...
- java中怎么引用圆周率_Java简单计算圆周率完整示例
本文实例讲述了java简单计算圆周率.分享给大家供大家参考,具体如下: 这两天在网上看到一个题,已知pi可以用函数4 * (1 – 1/3 + 1/5 – 1/7 + -) 计算,计算出小数点后五位( ...
最新文章
- hdoj1175 连连看(dfs+剪枝)
- 一步一步做高性能服务器(C++) -- Day 1
- POJ-2531 Network Saboteur 枚举||随机化
- LeetCode Search Insert Position (二分查找)
- 黑马2016java_2016年成功的Java开发人员简介
- 栈应用:实现二进制转八进制、十进制、十六进制
- Django之一个简单的图书管理系统(单表)
- Trick(四)——翻转字符串的实现
- 服务器和交换机物理连接_连接网络的枢纽,网络交换机详解
- 终于把tomcat给搞定了
- comsol光学仿真03
- mac忘记mysql初始密码怎么办_Mac下忘记Mysql密码重新设置密码的图文教程
- vscode编程常用快捷键
- TCP全连接端口扫描器
- [数学学习笔记]函数的连续性
- PCB的安装与元器件的绘制
- 剑指offe JZ18 删除链表的节点
- UML建模之用例图(重点讲extend和include关系)
- 2019 高校运维赛 writeup
- 统一告警平台设计方案
热门文章
- 通过python实现企业微信公众号链接+图文推送
- plantuml中如何加颜色
- 百度正式发布搜索推广专业版凤巢系统
- The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files
- 享元模式(Flyweight模式)
- php behaviors,YII框架行为behaviors用法详解
- android的手机壳,Android手机壳专场,送礼自用两相宜
- 央视看上绿色P2P网站
- 除号java_【除号66】loadrunner-java虚拟用户小结 (准备篇)
- win7系统防火墙设置(转)