编程实现根据公式π/4=1-(1/3)+(1/5)-(1/7)...计算π的值
生活随笔
收集整理的這篇文章主要介紹了
编程实现根据公式π/4=1-(1/3)+(1/5)-(1/7)...计算π的值
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
如題,這是一個面試題,根據(jù)公式計算π的值,我們知道π的值大概是3.1415926,這里我們需要通過如題所示的公式來計算:
通過公式,我們知道,公式左邊是一個Pi/4的值,右邊可以看做是一個不斷累加的和,只不過這個累加的量,每間隔一個會是一個負值,如果右邊的值我們看做是n個數(shù)的累加和,當n=1時是1,當n=2時是1-1/3,當n=3時是1-1/3+1/5,依次類推,我們可以這么來看:
無論當前是第幾個數(shù),他的值就是flag*(1/2*i-1)。根據(jù)這個思路,我們的程序可以做出如下的設計:
package com.xxx.algorithm.wh;public class CalculatePI {//根據(jù)公式計算pi的值// π/4 = 1-1/3+1/5-1/7...public static double pi(int n){int flag = 1;double temp = 1;double sum = 0;for(int i=1;i<=n;i++){temp = 1.0/(2*i-1)*flag;sum = sum+temp;flag = -flag;}return sum*4;}public static void main(String[] args) { double p = pi(1);System.out.println(" n=1 : "+p);p = pi(100);System.out.println(" n=100 : "+p);p = pi(10000);System.out.println("n=10000 : "+p);}}代碼量不是很多,也是很直觀的,就是將分子分母的規(guī)律總結一下,然后根據(jù)特點求出他們的累加和。
運行這個代碼,打印信息如下:
從打印結果分析,當n的值越大計算的π的值就越精確。
總結
以上是生活随笔為你收集整理的编程实现根据公式π/4=1-(1/3)+(1/5)-(1/7)...计算π的值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机监控系统软件设计,计算机监控软件设
- 下一篇: 程序员,不要让自己做兔子(updated