Przejdź do treści

Zadanie 7

Przeanalizuj poniższy algorytm i wykonaj zadania.

Pseudokod

Fukcja fun(a, b):
    1. Jeżeli a > b, to:
        2. Zwróć ""
    3. c := (a + b) div 2
    4. Jeżeli c mod 2 = 0, to:
        5. Zwróć fun(a, c - 1) + "0" + fun(c + 1, b)
    6. W przeciwnym przypadku:
        7. Zwróć fun(a, c - 1) + "1" + fun(c + 1, b)

Zadanie 1

Uzupełnij poniższą tabelę o wyniki działania funkcji fun dla podanych parametrów.

a b fun(a,b)
0 2 010
1 4 1010
2 5
3 8
7 10

Zadanie 2

Podaj przykładowe wartości a oraz b, dla których funkcja fun zwróci wynik zawierający dokładnie pięć zer oraz pięć jedynek.

Zadanie 3

Uzupełnij poniższą tabelę podając liczbę wywołań funkcji fun (wliczając w to początkowe wywołanie) dla podanych parametrów.

a b Liczba wywołań
0 5 13
1 5 11
0 6
1 6
0 10
2 20

Zadanie 4

Podaj wzór na liczbę wywołań funkcji fun dla dowolnych liczb naturalnych \(a\) oraz \(b\), takich że \(a\leq b\).