根据给出的公式编程计算PI的值,直到所加项小于1E-10为止。
PI/6=1/2+(1/2)*1/3*(1/2)3+(1/2*3*4)*1/5*(1/2)5+(1/2*3/4*5/6)*1/7*(1/2)7+……
     括号后面的整数值是最后那个1/2的幂,求哪位高手给指点指点,这个用 C#怎么写啊

解决方案 »

  1.   

    /*
    PI/6=
                    1/1*(1/2)1 +
    (1/2)        *1/3*(1/2)3 +
    (1/2*3/4)    *1/5*(1/2)5 +
    (1/2*3/4*5/6)*1/7*(1/2)7 +
    …… 
    */using System; public class PI
    {
      static void Main()
      {
        double a = 1;
        double c = .5;
        double d = 1;
        double e = 1e-10;
        double PI6 = 0;
        for (int i = 1; d >= e; i += 2, c /= 4, a *= (i-2.0) / (i-1.0))
        {
          PI6 += d = a * c / i;
        }
        Console.WriteLine("PI = {0:F10}", PI6 * 6); // 输出:3.1415926535
      }
    }