2.2 Zera funkcji F dla p = 2
Matura próbna grudzień 2024 - Matura z informatyki: arkusze krok po kroku (Python)
Zadanie 2.2 (2 pkt): największe \( x < 100 \), dla którego \( F(x, p) = 0 \). Wynik \( F \) to suma nieparzystych cyfr minus suma parzystych, więc zero wychodzi, gdy obie sumy są równe. Program wypisuje takie liczby dla \( p = 2 \) z zapisem dwójkowym: cyfra 0 niczego nie zmienia, a każda jedynka dodaje 1, więc dla \( p = 2 \) zero daje tylko \( x = 0 \).
calls = 0
def F(x, p):
global calls
calls = calls + 1 # licznik wywołań, także pierwszego
if x == 0:
return 0
c = x % p # ostatnia cyfra x w systemie o podstawie p
if c % 2 == 1:
return F(x // p, p) + c
return F(x // p, p) - c
for x in range(100):
if F(x, 2) == 0:
print(x, bin(x)[2:])Ł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.