第五题:圆周率

第五题:圆周率

题目描述

数学发展历史上,圆周率的计算曾有许多有趣甚至是传奇的故事。其中许多方法都涉及无穷级数。

图1.png中所示,就是一种用连分数的形式表示的圆周率求法。

image-20210326214343452

下面的程序实现了该求解方法。实际上数列的收敛对x的初始值 并不敏感。

结果打印出圆周率近似值(保留小数点后4位,并不一定与圆周率真值吻合)。

double x = 111; 
for(int n = 10000; n>=0; n--){
    int i = 2 * n + 1;
    x = 2 + (i*i / x);
}

System.out.println(String.format("%.4f", ______________));

答案:

public class _05圆周率 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		double x = 111; 
		for(int n = 10000; n>=0; n--){

		}
		//x = 2+1/x'
		System.out.println(String.format("%.4f",4/(x-1)));
	}

}

思路:

image-20210327193310036

​ 发现分子都是奇数的平方
​ int i = 2 * n + 1;//取奇数
​ x = 2 + (i*i / x);//再次平方,+2不停更替分母

posted @ 2021-03-27 19:36  记录学习Blog  阅读(114)  评论(0编辑  收藏  举报