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)); } } }