Загрузка...

Помогите с заданием на С#

Тема в разделе C# создана пользователем M4xiFl3x 5 апр 2024. 197 просмотров

Загрузка...
  1. M4xiFl3x
    M4xiFl3x Автор темы 5 апр 2024 89 1 дек 2019
    Вычислить с точностью є > 0 значение функции, заданной с помощью ряда Тейлора в некоторой точке х
    [IMG]
     
  2. bylex
    bylex 5 апр 2024 Безделье - это игрушка дьявола 2936 7 апр 2019
    На больших значениях X может ломаться, потому что там после возведения в степень получается переполнение double. Можно сделать возведение в степень с BigInteger, но тогда появится проблема деления, чтобы получить double.
    [IMG][IMG]
    CSHARP
    Console.Write("Введите X:");
    var currentX = Convert.ToInt32(Console.ReadLine());
    var series = TaylorSeries(currentX, 0);
    Console.WriteLine(series);
    return;

    double TaylorSeries(int x, int startN)
    {
    double eps = 1;
    int n;
    var previousElement = ElementForN(x, startN);
    var result = previousElement;
    for (n = 1; eps > 0; n++)
    {
    var nextElement = ElementForN(x, n);
    result += nextElement;
    eps = Math.Abs(nextElement - previousElement);
    previousElement = nextElement;
    }

    Console.WriteLine($"Кол-во шагов: {n}");
    result *= 2;
    return result;
    }

    double ElementForN(int x, int n)
    {
    return Math.Pow(x - 1, 2 * n + 1) / ((2 * n + 1) * Math.Pow(x + 1, 2 * n + 1));
    }
     
    5 апр 2024 Изменено
Top