Вычислить число "Пи" - C#
Формулировка задачи:
Напишите программу, которая вычисляет число "Пи" с заданной пользователем точностью. Для вычисления значения числа "Пи" воспользуйтесь тем, что значение частичной суммы ряда 1-1/3+1/5-1/7+1/9-... при суммировании достаточно большого количества членов приближается к значению Pi/4.
Просуммировано 501, а должно быть 502. В чём ошибка?
static void Main(string[] args)
{
double sum;
SumOfTheSeries( out sum);
Console.WriteLine("{0:F7}", sum*4);
}
static double SumOfTheSeries( out double sum)
{
Console.Write("введите точность:");
double eps = Convert.ToDouble(Console.ReadLine());
sum = 0;
int i = 0;
double a = 0;
do
{
a = Math.Pow(-1.0, i) * (1.0 / (2.0 * i + 1.0));
sum +=a;
i++;
}
while (Math.Abs(a) > eps);
Console.WriteLine("просуммировано {0}", i);
return sum;
}Решение задачи: «Вычислить число "Пи"»
textual
Листинг программы
using System;
class Program
{
public static void Main()
{
double x = Double.MaxValue;
double y = 0.0;
int i;
for (i = 1; Math.Abs(x) > 0.001; i++)
{
x = (i % 2 == 0 ? -1.0 : 1.0) / (double)(2 * i - 1);
y += x;
}
Console.WriteLine(4.0 * y);
Console.WriteLine(i);
}
}