版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/meiceatcsdn/article/details/82982651
背景:看《逻辑的引擎》这本书的时候,看到天才莱布尼茨的发现,本来是对电脑计算速度好奇的,试了下运算时间蛮长,就是了100,效果跟书本不一样。记录一下。
莱布尼茨级数:π/4 = 1-1/3+1/5-1/7+1/9…
越趋近极限,就越接近π/4的值。
package com.hmc.testUserAccounts;
/**
Author:meice Huang
Time:2018年10月日下午14:08:28
*/
public class getLeibnizSeries {
/**
*
* 背景:书籍《逻辑的引擎》,看到莱布尼茨级数,就试了一下,结果跟书本不一样。写得应该是没有问题的。
*
* π/4 = 1-1/3+1/5-1/7+1/9.....
* @param num
* @return
*/
public static double getLeibnizeries(int num ) {
double m = 0;
int count =1;
for(int i=2;i<=num;i++) {
double x =0;
if(isOdd(i)){
//int count =1;
if(isOdd(count)) {
x=-i;
if(i==3) {
m= m+(1+(1/x));//0-1/3+1/5
}
m= m+((1/x));
System.out.println("m "+m+" "+(1/x));
}else {
x=i;
m= m+(1/x);
}
count++;
}
}
return m;
}
public static boolean isOdd(int a ) {
boolean b;
if(a %2 ==0){
b = false;
}else{
b = true;
}
return b;
}
public static void main(String[] args) {
System.out.println("最终结果:"+getLeibnizeries(100));//100次的结果是:0.4470653298144195
}
}
对比一下书本结果:
总结:我只是想冒个泡泡。
欢迎评论交流。