.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);
}
}
}
}Решение задачи: «.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));
}