1. 程式人生 > >藍橋杯JAVA語言B組_圓周率

藍橋杯JAVA語言B組_圓周率

標題:圓周率

數學發展歷史上,圓周率的計算曾有許多有趣甚至是傳奇的故事。其中許多方法都涉及無窮級數。

 圖1.png中所示,就是一種用連分數的形式表示的圓周率求法。
下面的程式實現了該求解方法。實際上數列的收斂對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", ______________));

答案:4/(x-1)

解析:

題目中有3個變數,x,n,i到最後n=10000;i=20001;所以結果一定為x變形得
n從10000開始x=2+20001*20001/111
然後x = 2+19999*19999/x
最後為 x = 2+1*1/x;
但題目為1+1/。。。所以x-1 = 4/π
故π = 4/(x-1),注意這個4一定不要少了,如果少了則白弄了