写一下莱布尼茨级数

背景:看《逻辑的引擎》这本书的时候,看到天才莱布尼茨的发现,本来是对电脑计算速度好奇的,试了下运算时间蛮长,就是了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
	}
	
}

对比一下书本结果:

在这里插入图片描述

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

欢迎评论交流。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值