写一下莱布尼茨级数

版权声明:本文为博主原创文章,未经博主允许不得转载。 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
	}
	
}

对比一下书本结果:

在这里插入图片描述

总结:我只是想冒个泡泡。

欢迎评论交流。

猜你喜欢

转载自blog.csdn.net/meiceatcsdn/article/details/82982651