Sprawdź się
Treść do ćwiczeń 1‑3:
Dana jest funkcja znajdź
, opisana za pomocą niepełnej specyfikacji i pseudokodu.
Specyfikacja:
Dane:
n
– liczba naturalnatab[1..n]
– tablican
liczb rzeczywistych
Wynik:
…
Pseudokod:
Na podstawie podanych informacji wykonaj następujące ćwiczenia:
Zapisz za pomocą pseudokodu funkcję rekurencyjną wypisz(dlugosc, tekst)
, która wypisze liczby binarne w przedziale <0, 2Indeks górny dlugosc‑1dlugosc‑1>
. Liczby dopełnij zerami z lewej strony w taki sposób, żeby wszystkie były takiej samej długości. Przyjmij, że wartość zmiennej tekst
w początkowym wywołaniu to pusty łańcuch znaków. Przykładowe wywołanie funkcji wypisz(2, "")
powinno zwrócić następujący wynik:
Do dyspozycji masz funkcję wydrukuj
, która wypisuje tekst na ekranie, długość
, która zwraca długość łańcucha tekstowego, a także operację konkatenacji tekstów, czyli ich złączania, zapisaną za pomocą znaku plus.
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 JAVA
JĘZYK C++
JĘZYK PYTHON