1. Funkcja przestaw w Pythonie

Matura maj 2025 - Matura z informatyki: arkusze krok po kroku (Python)

**Zadanie 1. Funkcja rekurencyjna** (arkusz maj 2025). Funkcja `przestaw(n)` z arkusza w Pythonie (nazwa w kodzie: `rearrange`). Operator `mod` to `%`, a `div` to `//`. Funkcja odcina dwie ostatnie cyfry (`r = n % 100`), zamienia je miejscami (`a + 10 * b`) i dokleja przed nimi wynik dla reszty liczby, pomnożony przez 100. Licznik `calls` liczy wszystkie wywołania razem z pierwszym. Arkusz podaje wiersz wzorcowy: dla 316498 wynik to 134689 po 3 wywołaniach. Uruchom krokowo (przycisk **Krok**): w podglądzie widać stos wywołań, każde kolejne wywołanie dostaje liczbę krótszą o dwie cyfry.

calls = 0


def rearrange(n):
    # funkcja przestaw z arkusza: zamienia cyfry w parach, licząc od końca liczby
    global calls
    calls += 1
    r = n % 100
    a = r // 10
    b = r % 10
    n = n // 100
    if n > 0:
        w = a + 10 * b + 100 * rearrange(n)
    elif a > 0:
        w = a + 10 * b
    else:
        w = b
    return w


print(rearrange(316498), calls)

Ł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.