特别说明: 这些都是偶然遇到的题目(有些是同僚说到,有些是群里说到,有些是书籍提到,总之就是偶然遇到),没有指导作用,切记!再加上正好有空闲,就贴上来供大家探讨,有什么意见建议也可以直接评论什么的!谢谢大家的光临!
1、已知Pi可以用函数4 * (1 – 1/3 + 1/5 – 1/7 + …) 计算,项越多越精确,请写一个函数,计算小数点后5位的Pi;
/*
* *功能实现:
* 已知Pi可以用函数4 * (1 – 1/3 + 1/5 – 1/7 + …) 计算,项越多越精确,请写一个函数,计算小数点后5位的Pi;
* *解决方法:
* (1)、数学建模: 4*(正负1/(2*(n-1)+1));n为循环次数值;
* (2)、符号确定: 采用求模来确定_n%2==0,true为负, false为正;
* (3)、格式化值: 采用java.text.DecimalFormat类的format()方法实现5位数要求;
*/
System.out.println(Math.PI);
// 求接近pi值:
double piv=0;
for(double i=1; i<=5; i++) {
piv += 4 * (i%2==0?-(1/(2*(i-1)+1)):+(1/(2*(i-1)+1)));
}
System.out.println(piv);
// 格式化值:
DecimalFormat df = new DecimalFormat("0.00000");
System.out.println(df.format(piv));
标签:Java,函数,double,小数点,面试,计算,越多越,Pi,冰山一角 From: https://blog.51cto.com/u_8726024/7186388