3. Całe zadanie: wyniki3_2.txt i wyniki3_3.txt

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

Pełne rozwiązanie zadań 3.2 i 3.3 jednym programem: funkcja z zadania 3.1, oba pliki z danymi i dwa pliki wyników, nazwane tak jak w arkuszu. Na egzaminie oddaje się je razem z kodem.

def odd_shortcut(n):
    # cyfry od końca; nieparzysta trafia do m na kolejne miejsce (p = 1, 10, 100, ...)
    m = 0
    p = 1
    while n > 0:
        digit = n % 10
        if digit % 2 != 0:
            m = m + digit * p
            p = p * 10
        n = n // 10
    return m  # 0 = skrót nie istnieje (same cyfry parzyste)


from math import gcd

with open("skrot.txt") as f:
    numbers = [int(line) for line in f]
without = [x for x in numbers if odd_shortcut(x) == 0]
with open("wyniki3_2.txt", "w", encoding="utf-8") as f:
    print(len(without), file=f)
    print(max(without), file=f)

with open("skrot2.txt") as f:
    numbers = [int(line) for line in f]
sevens = [x for x in numbers if gcd(x, odd_shortcut(x)) == 7]
with open("wyniki3_3.txt", "w", encoding="utf-8") as f:
    for x in sevens:
        print(x, file=f)

print(open("wyniki3_2.txt", encoding="utf-8").read())
print(open("wyniki3_3.txt", encoding="utf-8").read())

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