Java黑皮书课后题第6章:*6.14(估算π)π可以使用下面的数列进行计算。编写一个方法,对于给定的i返回m(i),并编写一个测试程序,显示如下表格
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第6章:*6.14(估算π)π可以使用下面的数列进行计算。编写一个方法,对于给定的i返回m(i),并编写一个测试程序,显示如下表格
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
6.14(估算π)π可以使用下面的數列進行計算。編寫一個方法,對于給定的i返回m,并編寫一個測試程序,顯示如下表格
- 題目
- 題目描述與運行示例
- 破題
- 代碼
題目
題目描述與運行示例
6.14(估算π)π可以使用下面的數列進行計算:
m(i) = 4 * (1-1.0/3+1.0/5-1.0/7+1.0/9-1.0/11+…+Math.pow(-1, i+1) / (2 * i - 1))
編寫一個方法,對于給定的i返回m(i),并編寫一個測試程序,顯示如下表格:
破題
和6.13簡直不要太像,只換了公式而已,點擊這里跳轉至6.13博文,或者復制以下URL到瀏覽器:
https://blog.csdn.net/weixin_46356698/article/details/119901961
上面m(i)可以簡化為(i只取奇數):
(i-1) / 2 = n
4 / (2 * (2 * n + 1) - 1) + ∑8 / ((4n-3)(4*n-1))
代碼
public class Test6_14 {public static void main(String[] args) {// 打印表頭和橫線System.out.println("i\t\tm(i)");System.out.println("———————————————");System.out.printf("%d\t\t%6.4f\n", 1, 4.0);// 循環打印for (double i = 101; i <= 901; i += 100){System.out.printf("%d\t\t%6.4f\n", (int) i, m(i));}}// m(i)方法計算數列和public static double m(double i){double result = 0;if (i == 1)return 4;for (double n = 1; n - (i - 1) / 2 <= 0.0001;n++){result += 8 / ((4*n-3)*(4*n-1));}result += 4 / (2 * i -1);return result;} }總結
以上是生活随笔為你收集整理的Java黑皮书课后题第6章:*6.14(估算π)π可以使用下面的数列进行计算。编写一个方法,对于给定的i返回m(i),并编写一个测试程序,显示如下表格的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第6章:6.12(显
- 下一篇: Java黑皮书课后题第6章:*6.15(