博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【JAVA练习】- 给定精度求圆周率π
阅读量:6876 次
发布时间:2019-06-26

本文共 839 字,大约阅读时间需要 2 分钟。

给定一个精度求圆周率π的近似值

给定公式:π/4=1-1/3+1/5-1/7+1/9-...

1 public static void main(String[] args) { 2     System.out.println("请输入π的精度(小数点后有效位数)"); 3     Scanner input = new Scanner(System.in); 4     double i = input.nextDouble(); 5     double p = pi(i); 6     NumberFormat nFormat = NumberFormat.getNumberInstance();     7     nFormat.setMaximumFractionDigits((int)i);//设置小数点后面位数     8     System.out.println(nFormat.format(p)); 9 }                    10 11 static double pi(double j) {    12     double p = 1;13     for(double i = 1; i < 50000000; i++) { //循环相加14     double pCopy = p - (int)p;//最后两次的数值相减,精度位相减为0,说明精度已经达到15     p += Math.pow(-1,i) / ( 2 * i + 1 ); //莱布尼兹级数求和16     if( ( Math.abs( pCopy - ( p - (int)p ) ) * Math.pow(10,j) ) <= 0) break;//公式实现精度后退出循环17     }18     return p*4;19 }

转载于:https://www.cnblogs.com/isco22/p/8615437.html

你可能感兴趣的文章
span里float使用问题
查看>>
【Redis基本数据结构】字典实现 rehash介绍
查看>>
ISP_QoS 学习笔记 <不完整>
查看>>
Illegal Instruction错误小谈
查看>>
web基础
查看>>
安装inotify和对应inotify命令操作,以及inotify和rsync的组合操作
查看>>
KVM虚拟化-qemu-kvm杂记
查看>>
常用的查看文件行数的命令,cat,wc,sed,awk,grep
查看>>
nginx日志统计分析
查看>>
03_02 bash 特性详解 (上)
查看>>
写给自己
查看>>
mysql日常问题处理
查看>>
电子邮件服务器安全
查看>>
磁盘管理介绍
查看>>
haproxy 安装部署文档
查看>>
CentOS6.4 KVM 虚拟机命令行安装配置
查看>>
elipse常用快捷键
查看>>
CentOS服务器最新分区方案
查看>>
Linux下chkconfig命令详解
查看>>
我的友情链接
查看>>