Вычисление с заданной точностью через while - C#
Формулировка задачи:
Вычислить бесконечную сумму с заданной точностью eps (eps>0). Считать, что точность достигнута, если очередное слагаемое по модулю меньше eps, - все последующие слагаемые можно уже не учитывать.
S=1 - x^2/2! + (x^4)/4! - ... + (-1)^nx^2n/(2n)! + ...;
Решение задачи: «Вычисление с заданной точностью через while»
textual
Листинг программы
static int Factorial(int number)
{
if (number <= 1)
return 1;
else
return number * Factorial(number - 1);
}
static void Main(string[] args)
{
double x = 0.5;
double eps = 0.001;
Console.Write("точность eps:");
// double eps = double.Parse(Console.ReadLine());
double sum = 0, S = 1, n = 1;
int i = 1;
do
{
n *= -1;
sum = n * Math.Pow(x,2*i) / Factorial(2 * i);
S += sum;
i++;
} while (Math.Abs(sum) > eps);
Console.WriteLine("\n" + S);
Console.ReadKey();