Не работает цикл с факториалом - C#

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

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

В общем, есть задача с формулой и факториалом в ней. Программа работала исправно, когда дополнительно стоял цикл вычисления факториала внутри цикла вычисления суммы n членов. Когда я ее предоставил преподу, он меня заставил переписать задачу так, чтобы "Факториал не высчитывался для каждого нового члена, а постоянно был в памяти уже готовый". И тут у меня появляется проблема. В решении с двумя циклами считалось всё правильно. Теперь правильно высчитывается только при n = 1, а если n больше 1, то программа выдает неправильные

целые

числа. Sum брал как 0, так и 0.0 - ничего не изменялось. В строчке вывода {2} и {3} стоят лишь в отладочных целях - они подтверждают, что факториал вычисляется неправильно. Пожалуйста, укажите ошибку или дайте совет.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Cycle7
{
    class Program
    {
        static void Main(string[] args)
        {/*7.   Дано натуральное n. Вычислить значение выражения -2/1! + 3/2! + (-1)^n*(n+1)/n!*/
            int n = 0, i = 1, sign = -1;
            double Sum = 0.0, temp = 0;
            long fact = 1L;
            Console.WriteLine("Вас приветствует программа, вычисляющая сумму элементов последовательности с\nn-ным членом, равным (-1)^n*(n+1)/n!.");
            Console.WriteLine("Введите n:");
            n = int.Parse(Console.ReadLine());
            for (i = 1; i <= n; i++, sign = -sign)
            {
                temp = (i + 1) / fact;
                Sum +=  sign * temp;
                fact *= i;
            }
            Console.WriteLine("Сумма {0} членов равна {1} {2} {3}", n, Sum, fact, i);
            Console.ReadLine();
        }
    }
}

Решение задачи: «Не работает цикл с факториалом»

textual
Листинг программы
temp = (i + 1) / (double)fact;

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


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

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

7   голосов , оценка 3.857 из 5