Misja matura - kolejne wyzwania
Liczby Stirlinga II rodzaju mówią o liczbie sposobów, na jaki możemy podzielić zbiór rozróżnialnych niepowtarzalnych elementów (np. osoby z jednej klasy) na niepuste nierozróżnialne podzbiory (np. na grupy projektowe), przy czym liczebność tych podzbiorów jest ograniczona jedynie od dołu przez 1.
Jednym ze sposobów wyznaczania liczb Stirlinga II rodzaju jest poniższy wzór rekurencyjny (czytamy podzbiorów
):
gdzie to liczba elementów w zbiorze, a to liczba podzbiorów, na które chcemy podzielić wyjściowy zbiór. Warunki początkowe prezentują się następująco:
Ponadto, jeżeli to .
Napisz program, który oblicza rekurencyjnie wartość liczby Stirlinga II rodzaju dla podanych liczebności zbioru n i liczby podzbiorów k. Przetestuj swój program dla liczby Stirlinga .
Zrealizuj zadanie w jednym z dostępnych języków programowania.
Specjalizacja:
Dane:
n– liczba naturalna oznaczająca liczebność zbioru wejściowegok– liczba naturalna określająca, na ile podzbiorów dokonujemy podziału
Wynik:
Program na standardowym wyjściu wypisze wartość liczby Stirlinga II rodzaju .
JĘZYK C++
Plik zawierający rozwiązanie w języku C++.