Maj 2026
Materiały do pobrania
Podgląd rozwiązań
1.py
licznik = 0 # Do zadania 1_1
def A(m, n):
global licznik # Do zadania 1_1
if n == 1:
return m
elif n > 1 and n % 2 == 0:
licznik += 1
return A(2 * m, n / 2)
elif n > 1 and n % 2 != 0:
licznik += 1
return 2 * A(m, (n-1) / 2) + m
print(A(2 * (10**6), 256 * (10**6)))
print(licznik) # Do zadania 1_1
print(512*(10**12)) # Do zadania 1_2
2_2.py
def przeniesienia(a, b):
liczba_przeniesien = 0
przeniesienie = 0
while a > 0:
suma = a % 10 + b % 10 + przeniesienie
if suma >= 10:
liczba_przeniesien += 1
przeniesienie = 1
else:
przeniesienie = 0
a //= 10
b //= 10
return liczba_przeniesien
print(przeniesienia(37932, 12528))3_1.py
def f(s):
wartosci_ascii = []
for letter in s:
wartosci_ascii.append(ord(letter))
return sum(wartosci_ascii)
# print(abs(f("oko") - f("pies")))
pary_slow = []
wartosci_bezwzgledne = []
with open("pary.txt") as file:
for line in file:
line = line.split()
pary_slow.append(line)
wartosci_bezwzgledne.append(abs(f(line[0]) - f(line[1])))
# print(pary_slow)
# print(max(wartosci_bezwzgledne))
maks = max(wartosci_bezwzgledne)
for i in range(len(wartosci_bezwzgledne)):
if wartosci_bezwzgledne[i] == maks:
print(pary_slow[i][0], pary_slow[i][1], maks)
3_2.py
def W(s1, s2):
suma = 0
for litera in "abcdefghijklmnopqrstuvwxyz":
suma += min(s1.count(litera), s2.count(litera))
return suma
maks = 0
wynik = []
with open("pary.txt") as file:
for line in file:
s1, s2 = line.split()
w = W(s1, s2)
if w > maks:
maks = w
wynik = [s1, s2]
print(wynik[0], wynik[1], maks)3_3.py
def prefiksosufiks(s1, s2):
maks = 0
for i in range(1, len(s1) + 1):
if s2.endswith(s1[:i]):
maks = i
for i in range(1, len(s2) + 1):
if s1.endswith(s2[:i]):
maks = max(maks, i)
return maks
with open("pary.txt") as file:
for line in file:
s1, s2 = line.split()
wynik = prefiksosufiks(s1, s2)
if wynik >= 5:
print(s1, s2, wynik)4_2.py
with open("korpo.txt") as f:
szefowie = []
for line in f:
szefowie.append(int(line))
licznik = 0
for pracownik in range(len(szefowie) + 1):
if pracownik not in szefowie:
licznik += 1
print(licznik)4_3.py
with open("korpo.txt") as f:
szefowie = []
for line in f:
szefowie.append(int(line))
ma_najwiecej = 0
maks_podwladnych = 0
for i in range(1, len(szefowie) + 1):
licznik = 0
for j in szefowie:
if j == i:
licznik += 1
if licznik > maks_podwladnych:
maks_podwladnych = licznik
ma_najwiecej = i
print(ma_najwiecej, maks_podwladnych)
4_4.py
with open("korpo.txt") as f:
szef = [0]
for line in f:
szef.append(int(line))
maks_przelozonych = 0
ile_pracownikow = 0
for i in range(1, len(szef)):
licznik = 0
pracownik = i
while szef[pracownik] != 0:
licznik += 1
pracownik = szef[pracownik]
if licznik > maks_przelozonych:
maks_przelozonych = licznik
ile_pracownikow = 1
elif licznik == maks_przelozonych:
ile_pracownikow += 1
print(maks_przelozonych, ile_pracownikow)8_5.sql
SELECT DISTINCT
Produkty.IdProduktu,
Produkty.Nazwa
FROM
Kategorie
JOIN Produkty ON Kategorie.IdKategorii = Produkty.IdKategorii
JOIN Opis_transakcji ON Produkty.IdProduktu = Opis_transakcji.IdProduktu
WHERE
Kategorie.NazwaKategorii = 'spozywcze'
AND Produkty.Opis LIKE '%do ekspresu kolbowego%';1_2.txt
777
512000000000000 (512 * (10**12))1_3.txt
k 2**(k-i)
k-1 (2**k-i) -12_1.txt
0
36.txt
Adres IP w wersji 4 ma długość 32 bity.
Adres IP w wersji 6 ma długość 128 bitów.wyniki7.txt
7_1:
Jan 1.1
Feb 4.1
Mar 4.1
Apr 7.4
May 15.9
Jun 20.5
Jul 20.4
Aug 21.1
Sep 13.7
Oct 12.5
Nov 5.2
Dec 1.6
7_2:
Miesiąc Najdłuższy ciąg
Styczeń 11
Luty 7
Marzec 20
Kwiecień 8
Maj 20
Czerwiec 11
Lipiec 10
Sierpień 8
Wrzesień 14
Październik 15
Listopad 10
Grudzień 10
7_3:
14-08-2023 (167. dzień)
7_4:
94wyniki8.txt
8_1:
Marcelino Kruk
8_2:
K 689
M 651
8_3:
28 19443.29
8_4:
14 1