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

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

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

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

целые

числа. Sum брал как 0, так и 0.0 - ничего не изменялось. В строчке вывода {2} и {3} стоят лишь в отладочных целях - они подтверждают, что факториал вычисляется неправильно. Пожалуйста, укажите ошибку или дайте совет.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace Cycle7
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {/*7. Дано натуральное n. Вычислить значение выражения -2/1! + 3/2! + (-1)^n*(n+1)/n!*/
  11. int n = 0, i = 1, sign = -1;
  12. double Sum = 0.0, temp = 0;
  13. long fact = 1L;
  14. Console.WriteLine("Вас приветствует программа, вычисляющая сумму элементов последовательности с\nn-ным членом, равным (-1)^n*(n+1)/n!.");
  15. Console.WriteLine("Введите n:");
  16. n = int.Parse(Console.ReadLine());
  17. for (i = 1; i <= n; i++, sign = -sign)
  18. {
  19. temp = (i + 1) / fact;
  20. Sum += sign * temp;
  21. fact *= i;
  22. }
  23. Console.WriteLine("Сумма {0} членов равна {1} {2} {3}", n, Sum, fact, i);
  24. Console.ReadLine();
  25. }
  26. }
  27. }

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

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

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут