3.3 NWD liczby i skrótu

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

Zadanie 3.3 (4 pkt): liczby z pliku `skrot2.txt`, dla których największy wspólny dzielnik liczby i jej nieparzystego skrótu jest równy 7. NWD liczy `gcd` z modułu `math` (algorytm Euklidesa). Dla pliku `skrot2_przyklad.txt` arkusz podaje odpowiedź: 4872 i 23527.

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)


with open("skrot2_przyklad.txt") as f:
    numbers = [int(line) for line in f]

# 3.3 NWD liczby i jej nieparzystego skrótu równy 7
from math import gcd

sevens = [x for x in numbers if gcd(x, odd_shortcut(x)) == 7]

for x in sevens:
    print(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.