计算Pi
2024-09-06 07:50:31
程序:
package pai; import java.math.BigDecimal; public class ComplexPi {
BigDecimal result; public ComplexPi(int count) {
result=new BigDecimal(0); for(int i=1;i<=count;i++) {
result=result.add(getAddedPart(i));
}
} private BigDecimal getAddedPart(int n) {
BigDecimal retval=new BigDecimal(1).divide(new BigDecimal(2*n-1), 20, BigDecimal.ROUND_HALF_UP); if(n % 2==0) {
retval=retval.multiply(new BigDecimal(-1));
} return retval;
} public String getPi() {
return result.multiply(new BigDecimal(4)).toString();
} public static void main(String[] args) {
ComplexPi cp=new ComplexPi(100000);
System.out.println(cp.getPi());
}
}
输出:
3.14158265358979349008
另一个程序:
package pai; public class SimplePiComputer {
public static void main(String[] args) {
double piDivideByFour = 0; for(int i = 1;i <= 100000;i++)
{
piDivideByFour += Math.pow(-1, i+1) / (2 * i - 1); } System.out.println("The PI is " + piDivideByFour * 4);
}
}
结果:
The PI is 3.1415826535897198
参考网页:
1.https://blog.csdn.net/xjlovewjh/article/details/104313648
2.https://www.jianshu.com/p/683b2406342f
最新文章
- mariadb 最新精简压缩版 win64 解压即用
- bzoj 3821: 玄学
- js高级程序设计(六)面向对象
- html页面的绝对路径和相对路径
- iOS学习之UITableView编辑
- C#Transfrom
- 使用winform控件注意线程绘制界面冲突
- gulp相关知识(2)
- JavaScript实现Tab栏切换
- libevent 实现的socket 通信 server以及解决找不到动态库的方法
- Python正则表达式的re库一些用法(上)
- Confluence 6 配置日志
- SSE图像算法优化系列二十二:优化龚元浩博士的曲率滤波算法,达到约1000 MPixels/Sec的单次迭代速度
- Spark本地运行成功,集群运行空指针异。
- OSPF - 1,基础
- spring boot学习(4) SpringBoot 之Spring Data Jpa 支持(1)
- 如何使用openstack OCL
- Hyperledger Fabric源码解析
- Selenium API(二)
- Java实现微信网页授权