Skip to main content

Command Palette

Search for a command to run...

Matura informatyka 2022 czerwiec (poziom rozszerzony) - zadanie 4.2

Updated
1 min read
Matura informatyka 2022 czerwiec (poziom rozszerzony) - zadanie 4.2

Treść zadania:

Dla każdej liczby z pliku liczby.txt oblicz wartość bezwzględną różnicy tej liczby i jej odbicia.

Wyznacz taką liczbę n, dla której wartość bezwzględna różnicy tej liczby i jej odbicia jest największa. Podaj tę liczbę oraz wartość bezwzględną różnicy tej liczby i jej odbicia.

W pliku liczby.txt jest tylko jedna taka liczba.

Dla pliku przyklad.txt odpowiedzią jest 741 594.

Rozwiązanie:

Z treści zadania wynika, że:

W pliku liczby.txt zapisano 100 nieparzystych liczb całkowitych z przedziału [10, 9999]. Liczby w pliku mogą się powtarzać.

minimalna liczba wynosi 10, więc można bezpiecznie założyć początkową wartość największej liczby i największej różnicy jako 0:

with open("dane/przyklad.txt", "r") as f:
    nums = [int(num) for num in f.readlines()]

biggest_num = 0
biggest_diff = 0

Następnie przy pomocy prostej pętli obliczamy dla każdej liczby jej absolutną różnicę z jej odbiciem i wypisujemy wynik:

for num in nums:
    reflection = int(str(num)[::-1])
    diff = abs(num - reflection)
    if diff > biggest_diff:
        biggest_num = num
        biggest_diff = diff


print(f"{biggest_num} {biggest_diff}")

Cały program:

with open("dane/liczby.txt", "r") as f:
    nums = [int(num) for num in f.readlines()]

biggest_num = 0
biggest_diff = 0

for num in nums:
    reflection = int(str(num)[::-1])
    diff = abs(num - reflection)
    if diff > biggest_diff:
        biggest_num = num
        biggest_diff = diff


print(f"{biggest_num} {biggest_diff}")

Wynik:

1129 8082

Źródło: https://arkusze.pl/matura-informatyka-2022-czerwiec-poziom-rozszerzony/

More from this blog

matura z infy

17 posts