题库(3)_计算圆周率Π

圆周率 Pi (π) 是数学中最重要和最奇妙的数字之一。圆周率是根据圆的半径计算周长时所使用的一个常数,约等于 3.14。此外,Pi 也是一个无理数,即无限非循环小数。Pi 的这个特点,使得准确计算它的值较难实现,但并非不可能。

方法之一是使用格雷戈里 - 莱布尼茨无穷级数。数学家们发现了若干个数学级数,如果实施无穷多次运算,就能精确计算出 Pi 小数点后面的多位数字。其中部分无穷级数非常复杂,需要超级计算机才能运算处理。但是有一个最简单的无穷级数,即格雷戈里-莱布尼茨级数。尽管计算较费时间,但每一次迭代的结果都会更接近 Pi 的精确值,迭代 500,000 次后可准确计算出 Pi 的 10 位小数。公式如下:

π = (4/1) - (4/3) + (4/5) - (4/7) + (4/9) - (4/11) + (4/13) - (4/15) ...即 PI = 4*(1-1/3+1/5-1/7+1/9-1/11 ....)

  • 首先用 4 减去 4 除以 3,然后加上4除以5,然后减去4除以7。反复变换使用加减法,后面的小数是用4作分子,用连续的奇数作分母。计算的次数越多,则结果越接近 Pi。


用代码实现也比较简单主要是循环,需要注意的是不同类型转换;

看代码
 

static double PI() {
		long length = 0x7fffffff;
		double result = 0;
		double temp;
		for (double i = 1; i < length; i += 4) 
		{
			temp=1/i;//刚开始中间过渡没啥用;
			result +=temp;
			//System.out.println(result);
		}
		for (double i = 3; i < length; i += 4)
		{
			result -= 1 / i;
			//System.out.println(result);
		}
		return  4*result;
	}

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值