C# :: Aufgabe #285
2 Lösungen
Anzahl der Möglichkeiten, in N unterscheidbaren Eimern, N nicht unterscheidbare Tennisbälle zu lagern
Anfänger - C#
von hollst
- 20.03.2020 um 22:15 Uhr
Man habe N unterscheidbare Eimer, unterscheidbar bspw. durch Nummerierung der Eimer,
und N Tennisbälle, die man nicht voneinanderder unterscheiden kann.
Wie viele Möglichkeiten gibt es, die N Bälle in N Eimern aufzubewahren?
Dies sei für N = 3 ... 10 anhand eines Computerprogramms zu berechnen.
Bei N = 1, gibt es nur eine Möglichkeit. Bei N = 2 gibt es 3 Möglichkeiten: (2,0), (1,1) und (0,2).
Viel Spaß!
und N Tennisbälle, die man nicht voneinanderder unterscheiden kann.
Wie viele Möglichkeiten gibt es, die N Bälle in N Eimern aufzubewahren?
Dies sei für N = 3 ... 10 anhand eines Computerprogramms zu berechnen.
Bei N = 1, gibt es nur eine Möglichkeit. Bei N = 2 gibt es 3 Möglichkeiten: (2,0), (1,1) und (0,2).
Viel Spaß!
Lösungen:
using System;
namespace CS_Aufgabe_285_Eimer_Baelle_Kombinationen
{
class Program
{
static void Main(string[] args)
{
for (var i = 3; i <= 10; i++)
{
Console.WriteLine($"{i:00}:\t{GetCombinations(i - 1)}");
}
}
static int GetCombinations(int n)
{
var k = 1;
for (int i = 0; i < n; i++)
{
k = k * (4 * i + 6) / (i + 2);
}
return k;
}
}
}using System;
namespace CS_Aufgabe_285_Tennisballs
{
class Program
{
static void Main(string[] args)
{
for (ulong n = 3; n <= 10; n++)
{
Console.WriteLine($"n = {n}: {fakultaet(2 * n - 1) / fakultaet(n) / fakultaet(n - 1)}");
}
Console.ReadKey();
}
private static ulong fakultaet(ulong n)
{
if (n == 0)
return 1;
else
return (n * fakultaet(n - 1));
}
}
}
