3.3 Różnica cyfr w pliku przykładowym
Matura próbna grudzień 2024 - Matura z informatyki: arkusze krok po kroku (Python)
Zadanie 3.3 (3 pkt): z cyfr liczby największa minus najmniejsza możliwa liczba, porównana z samą liczbą. Arkusz: dla 3151 to \( 5311 - 1135 = 4176 \), a zera traktuje się jak inne cyfry, więc dla 2047 to \( 7420 - 0247 = 7173 \). `sorted(str(n))` daje cyfry rosnąco, złączone dają najmniejszą liczbę (zero z przodu znika przy `int`). Dla pliku przykładowego: 8 razy mniejsza, 12 razy większa, równej nie ma.
with open("liczby_przyklad.txt") as f:
numbers = [int(line) for line in f]
# 3.3 cyfry posortowane: rosnąco = najmniejsza liczba (zera z przodu), malejąco = największa
def difference(n):
digits = sorted(str(n))
smallest = int("".join(digits))
largest = int("".join(reversed(digits)))
return largest - smallest
smaller = sum(1 for x in numbers if difference(x) < x)
larger = sum(1 for x in numbers if difference(x) > x)
equal = [x for x in numbers if difference(x) == x]
print("3.3", smaller, larger)
print("równe:", *equal)
print(difference(3151), difference(2047))Ł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.