2.2 Co robi algorytm z każdą cyfrą

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

Zadanie 2.2 (1 pkt) wymaga zauważenia reguły: każda cyfra `n` daje jedną cyfrę `c` na tym samym miejscu. Cyfra nieparzysta zamienia się w 1, parzysta w swoją połowę (0 w 0, 2 w 1, 4 w 2, 6 w 3, 8 w 4). Program wypisuje tę zamianę dla wszystkich cyfr i dla kilku liczb.

def algorithm(n):
    # algorytm z arkusza; count liczy wykonania instrukcji c <- c + b
    b = 1
    c = 0
    count = 0
    while n > 0:
        a = n % 10
        n = n // 10
        if a % 2 == 0:
            c = c + b * (a // 2)
        else:
            c = c + b
            count = count + 1
        b = b * 10
    return c, count


for d in range(10):
    print(d, "->", algorithm(d)[0] if d else 0)

for n in [9, 86, 2024]:
    print(n, algorithm(n)[0])

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