Вычисление числа сочетаний из N по M - C#
Формулировка задачи:
Напишите программу для вычисления числа сочетаний из N по M. Число сочетаний определяется по формуле N!/(M!*(N-M)!, где N – количество элементов перебора. Используйте подпрограмму вычисления факториала.
Нужно решить при помощи функции. Помогите пожалуйста
Решение задачи: «Вычисление числа сочетаний из N по M»
textual
Листинг программы
namespace Combinations
{
class Program
{
static void Main(string[] args)
{
int i = 4;
int n = 5;
Console.WriteLine("i = {0}, n = {1}", i, n);
int c = Cominations(n,i);
Console.WriteLine("c = {0}", c);
}
private static int Cominations(int allNumbers, int perGroup)
{
if (allNumbers > 13)
{
Console.WriteLine("Too big number!");
return -1;
}
return Factorial(allNumbers) / Factorial(allNumbers - perGroup);
}
private static int Factorial(int number)
{
int n = 1;
for (int i = 1; i < number; i++)
{
n *= i;
}
return n; // returns 1 when number is 0
}
}
}