У меня есть код, который получает входные данные от пользователя и рассчитывает его факториал и факториал меньшего, чем входное число, но я продолжаю получать факториал только для первого числа, а остальное равно 0. Должно быть так : Например, если введено 5:
5! = 120
4! = 24
3! = 6
2! = 4
1! = 1
Как заставить цикл выбрасывать все числа ниже входного числа?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace multiple_factorials
{
class Program
{
static void Main(string[] args)
{
int num, n;
Console.WriteLine(".....................[Application 1].....................\n\n");
Console.WriteLine("Please enter a number to get its factorial: ");
num = Convert.ToInt32(Console.ReadLine());
n = num; // Assign n to num
while (num > 0)
{
for (int i = n - 1; i > 0; i--)
{
n *= i;
}
Console.WriteLine("Factorial of {0}! = {1}\n", num, n);
num--;
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/290 ... -factorial