2.2 Ile strzałek rysuje funkcja

Matura próbna grudzień 2022 - Matura z informatyki: arkusze krok po kroku (Python)

Zadanie 2.2 (2 pkt, na kartce): liczba strzałek dla \( N = 20 \) i dla dowolnego \( N \). Do każdego punktu oprócz 1 prowadzi dokładnie jedna strzałka: do punktu \( k \) z punktu \( k \text{ div } 2 \). Program wypisuje, do których punktów wchodzi strzałka dla \( N = 7 \).

def draw(x, n, arrows):
    # funkcja rysuj(x) z arkusza; strzałka(x, y) dopisuje parę do listy
    if 2 * x <= n:
        arrows.append((x, 2 * x))
        draw(2 * x, n, arrows)
    if 2 * x + 1 <= n:
        arrows.append((x, 2 * x + 1))
        draw(2 * x + 1, n, arrows)
    return arrows


for x, y in draw(1, 7, []):
    print(y, "<-", x)

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Matura z informatyki: arkusze krok po kroku·Zaloguj się, aby zapisać postęp na koncie.