Даны целые числа m и n, вычислить, используя рекурсию, число сочетаний - C#
Формулировка задачи:
Даны целые числа m и n, где 0 ≤ m ≤ n, вычислить, используя рекурсию, число сочетаний С(n, m) по формуле: , при 0 ≤ m ≤ n. Воспользовавшись формулой можно проверить правильность результата.
Как это реализовать в c#, что-то я вообще понять не могу
Решение задачи: «Даны целые числа m и n, вычислить, используя рекурсию, число сочетаний»
textual
Листинг программы
static public int Combination(int n, int r)
{
if (n < 0 || r < 0) throw new ArgumentException("Отрицательные аргументы недопустимы");
if (n < r) return 0;
if (n == r) return 1;
if (r == 1) return n;
return n * Combination(n - 1, r - 1) / r;
}
static void Main(string[] args)
{
var rnd = new Random();
for (var i = 1; i <= 10; i++)
{
var _n = rnd.Next(15);
var _r = rnd.Next(15);
Console.Write("C({0},{1}) = ", _n, _r);
try
{
Console.WriteLine(Combination(_n, _r));
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
Console.ReadKey();
}