Решение функции по заданному условию

291
20 февраля 2018, 04:02

Здравствуйте! Необходима помощь с правильной записью условия в цикле в методе GetRes. Прикрепил скриншот функции и текущий код ниже.

      static int Factorial(int i)
      {
          if (i <= 1)
             return 1;
          return i * Factorial(i - 1);
      }
      static void GetRes(double x)
     {
        double res, sum = 0;
        int n = 1;
        while (Math.Abs(x) < Math.E)   // здесь нужна помощь
        {            
            res = Math.Round(((Math.Pow(-1, n) * Math.Pow(x, n)) / Factorial(n)), 2);    // здесь нужна помощь
            Console.WriteLine(res);
            sum += res;
            n++;
            if (Console.KeyAvailable) break;           
        }
        Console.WriteLine("\nСума: " + sum);
    }
Answer 1

вариант с заранее известным количеством слагаемых:

    public static int Factorial(int i)
    {
        if (i <= 1)
            return 1;
        return i * Factorial(i - 1);
    }
    public static void GetRes(double x, int it)
    {
        double res, sum = 0;
        for(int n = 0; n < it; n++)
        {
            res = Math.Round(((Math.Pow(-1, n) * Math.Pow(x, n)) / Factorial(n)), 2);
            Console.WriteLine(res);
            sum += res;
        }
        Console.WriteLine("\nСума: " + sum);
    }

вариант с заданной точностью:

    public static int Factorial(int i)
    {
        if (i <= 1)
            return 1;
        return i * Factorial(i - 1);
    }
    public static void GetRes(double x, double ac)
    {
        double res = ac, sum = 0;
        int n = 0;
        while (Math.Abs(res) >=ac)
        {
            res = Math.Round(((Math.Pow(-1, n) * Math.Pow(x, n)) / Factorial(n)), 2);
            Console.WriteLine(res);
            sum += res;
            n++;
        }
        Console.WriteLine("\nСума: " + sum);
    }

но осторожно: последовательность должна сходится, я этого не проверяю

READ ALSO
запрос в sql update не работает winforms(c#)

запрос в sql update не работает winforms(c#)

Добрый день, у меня вопросУ меня есть 4 столбца: Id, Name, Price, Amount

331
Сравнение двух путей и получение общей части с конца

Сравнение двух путей и получение общей части с конца

Создаю код бекапа заменяемых файловИмеется:

278
C# PictureBox SizeMode.Zoom

C# PictureBox SizeMode.Zoom

Рисую rectangles на PictureBox с SizeModeZoom

275
Конвертация String^ с юникод символами в char*

Конвертация String^ с юникод символами в char*

И снова проблема со строками (юникод)

306