Никак не могу заставить программу находить косинус
Нужно написать программу со статистическим методом для вычисления косинуса, используя формулу Cos(x) = 1-(x^2)/2! + (x^4)/4! - (x^6)/6!...+((-1)^n)*(x^2n))/(2n)! Однако выдаёт очень большие числа после, если ввожу x >= 3. Уже детально просматривал формулы, но ошибок не нашёл. Помогите,пожалуйста....
class Maths
{
// Метод вычисления факториала
public static int Fact(int x)
{
int res = 1;
for (int i = x; i >= 2; i--)
{
res *= i;
}
return res;
}
public static double Ch;
// Метод вычисления косинуса
public static double Cos( double Ch)
{
double Otv = 0;
for (int i = 1; i <= 6; i++) {
Otv += Math.Pow((-1),i) * Math.Pow(Ch, 2* i )/Maths.Fact(2 * i);
}
Otv = 1 - Otv;
return Otv;
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите число");
double x = Convert.ToDouble(Console.ReadLine()) ;
x = Maths.Cos(x);
Console.WriteLine("Cos = " + x);
}
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
for (int i = 1; i <= 6; i++) {
for (int i = 1; i <= 12; i++) {
public static double Fact(int x)
{
double res = 1;
for (int i = x; i >= 2; i--)
{
res *= i;
}
return res;
}

