.NET 4.x Ряд Тейлора tg(x) что не так? - C#

Узнай цену своей работы

Формулировка задачи:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace laba_5_
{
    class Program
    {
        static void Main(string[] args)
        {
            double summ = 0.0;
 
            //Ввод числа x
            Console.Write("Введите число x < Pi/2: ");
            double x = System.Convert.ToDouble(Console.ReadLine());
            if (x >= Math.PI / 2) { Console.WriteLine("Вы ввели некорректное число x!"); }
 
            //Ввод числа n
            Console.Write("Введите число n > 0: ");
            int n = int.Parse(Console.ReadLine());
 
            for (int i = 1; i <= n; i++)
            {
                summ = summ + (getBern(2 * n) * Math.Pow(-4, n) * ((Math.Pow(4, n) - 1) * -1) * (Math.Pow(x, (2 * n) - 1))) / fact(2 * n);
                Console.WriteLine(summ);
            }
 
            Console.ReadLine();
 
        }
 
        //Числа Бернули
        static double getBern(int n)
        {
            double bern;
 
            if (n == 0)
            {
                bern = 1.0;
            }
            else
            {
                bern = 0.0;
                for (int k = 1; k <= n; k++)
                {
                    bern += (-1) / System.Convert.ToDouble(n + 1) * fact(n + 1) / (fact(k + 1) * fact(n - k)) * getBern(n - k);
                }
            }
            return bern;
        }
 
        //Факториал
        static double fact(int k)
        {
            if (k == 0)
            {
                return 1;
            }
            else
            {
                return k * fact(k - 1);
            }
        }
    }
}
x < Pi/2 факториал в роди правильно Бернулли тоже .. должно в роди получится ~~0,017455064928217... при х=1 получается 1 ((

Решение задачи: «.NET 4.x Ряд Тейлора tg(x) что не так?»

textual
Листинг программы
 for (int i = 1; i <= n; i++)
            {
                summ = summ + (getBern(2 * i) * Math.Pow(-4, i) * (1 - Math.Pow(4, i)) * Math.Pow(x, (2 * i - 1)) / fact(2 * i));
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.6 из 5
Похожие ответы