ORYGINALNE POLECENIE CKE Wprowadzenie Dla danej, dodatniej liczby całkowitej N, na kartce papieru rysujemy N różnych punktów i numerujemy je liczbami 1, 2, …, N. W tym zadaniu będziemy łączyć punkty ze sobą strzałkami – funkcja strzałka(x,y) rysuje strzałkę od punktu o numerze x do punktu o numerze y.
Wywołanie poniżej zapisanej funkcji rekurencyjnej rysuj(x) poskutkuje narysowaniem pewnej liczby strzałek. Jej jedynym argumentem jest pewna liczba całkowita x z przedziału [1, N]. Przeanalizuj funkcję i znajdź odpowiedzi dla podanych zadań.
funkcja rysuj(x)
jeżeli 2*x ≤ N
strzałka(x, 2*x)
rysuj(2*x)
jeżeli 2*x + 1 ≤ N
strzałka(x, 2*x + 1)
rysuj(2*x + 1)
Przykład: Oto przykładowy rysunek otrzymany w wyniku wywołania rysuj(1) dla N = 5 i danego układu punktów:
Polecenie Niech N = 2047. Napisz, po ilu narysowanych strzałkach trzeba przejść, żeby dotrzeć z punktu o numerze 1 do punktu o numerze N, jeżeli będziemy się przemieszczać zgodnie z ich zwrotami.
Przykład: Dla N = 5, żeby przemieścić się z punktu o numerze 1 do punktu o numerze 5 należy przejść po dwóch strzałkach.
Liczba strzałek na drodze od 1 do N: …
Sprawdź odpowiedź lub spróbuj ponownie. Punktację znajdziesz w zasadach CKE poniżej.
Sprawdź ✓ Pokaż odpowiedź Od nowa