C++ :: Aufgabe #259

1 Lösung Lösung öffentlich

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ß!

Lösungen:

vote_ok
von JKooP (3200 Punkte) - 27.03.2020 um 11:02 Uhr
Quellcode ausblenden C-Code
#include <iostream>
#include <iomanip>
using namespace std;

int getCombinations(int);

int main()
{
    for (auto i = 3; i <= 10; i++)
    {
        cout << setw(2) << i << " - "  <<  getCombinations(i) << endl;
    }
}

int getCombinations(int n)
{
    auto k = 1;

    for (auto i = 0; i < n; i++)
    {
        k = k * (4 * i + 6) / (i + 2);
    }
    return k;
}