Maj 2023
Materiały do pobrania
Podgląd rozwiązań
2_1.py
def liczba_blokow(n):
b = 1
poprzedni = n % 2
n //= 2
while n > 0:
obecny = n % 2
if obecny != poprzedni:
b += 1
poprzedni = obecny
n //= 2
return b
print(liczba_blokow(67))
print(liczba_blokow(245))2_2.py
wynik = 0
def licz_bloki(n):
liczba_blokow = 1
liczba_binarna = list(n)
for i in range(1, len(liczba_binarna)):
if liczba_binarna[i] != liczba_binarna[i-1]:
liczba_blokow += 1
return liczba_blokow
with open("bin.txt") as f:
for line in f:
n = line.strip()
if licz_bloki(n) <= 2:
wynik += 1
print(wynik)2_3.py
liczby_dziesietne = []
with open("bin.txt") as f:
for line in f:
liczba = line.strip()
liczby_dziesietne.append(int(liczba, 2))
print(bin(max(liczby_dziesietne))[2:])3_1.py
liczby = []
with open("pi.txt") as f:
for line in f:
liczba = line.strip()
liczby.append(liczba)
licznik = 0
for i in range(len(liczby) - 1):
fragment = int(liczby[i] + liczby[i+1])
if fragment > 90:
licznik += 1
print(licznik)3_2.py
cyfry = []
with open("pi.txt") as f:
for line in f:
cyfry.append(line.strip())
zliczenia = [0] * 100
for i in range(len(cyfry) - 1):
fragment = int(cyfry[i] + cyfry[i+1])
zliczenia[fragment] += 1
min_wystapienia = min(zliczenia)
max_wystapienia = max(zliczenia)
min_fragment = zliczenia.index(min_wystapienia)
max_fragment = zliczenia.index(max_wystapienia)
print(min_fragment, min_wystapienia)
print(max_fragment, max_wystapienia)3_3.py
cyfry = []
with open("pi.txt") as f:
for line in f:
cyfry.append(int(line.strip()))
def czy_rosnaco_malejacy(c):
for k in range(2, 5):
pierwszy = c[:k]
drugi = c[k:]
rosnacy = all(pierwszy[j] < pierwszy[j+1] for j in range(len(pierwszy) - 1))
malejacy = all(drugi[j] > drugi[j+1] for j in range(len(drugi) - 1))
if rosnacy and malejacy:
return True
return False
licznik = 0
for i in range(len(cyfry) - 5):
ciag_6 = cyfry[i : i+6]
if czy_rosnaco_malejacy(ciag_6):
licznik += 1
print(licznik)3_4.py
cyfry = []
with open("pi.txt") as f:
for line in f:
cyfry.append(line.strip())
n = len(cyfry)
inc = [1] * n
for i in range(1, n):
if int(cyfry[i]) > int(cyfry[i-1]):
inc[i] = inc[i-1] + 1
dec = [1] * n
for i in range(n-2, -1, -1):
if int(cyfry[i]) > int(cyfry[i+1]):
dec[i] = dec[i+1] + 1
max_dlugosc = 0
najlepszy_start = -1
for i in range(n-1):
if inc[i] >= 2 and dec[i+1] >= 2:
dlugosc = inc[i] + dec[i + 1]
if dlugosc > max_dlugosc:
max_dlugosc = dlugosc
najlepszy_start = i - inc[i] + 1
wiersz_startowy = najlepszy_start + 1
znalaziony_ciag = "".join(cyfry[najlepszy_start : najlepszy_start + max_dlugosc])
print(wiersz_startowy)
print(znalaziony_ciag)7_5.sql
SELECT SUM(Sklep.cena)
FROM Gry INNER JOIN Sklep On Gry.id_gry = Sklep.id_gry
WHERE Gry.kategoria = 'logiczna' AND Sklep.promocja = TRUE;4.md
5.MD
wyniki2.txt
2_2:
10
2_3:
1110100011100011100wyniki3.txt
3_1:
902
3_2:
88 80
65 124
3_3:
214
3_4:
2781
014576540wyniki6.txt
6_1:
Miesiąc Maliny Truskawki Porzeczki
May 9238 9287 3309
Czerwiec 9485 8916 5081
Lipiec 11592 11339 10567
Sierpień 11045 11386 11078
Wrzesień 6532 7476 6355
6_2:
19
6_3:
Ile malinowo-truskawkowych: 72
Ile malinowo-porzeczkowych: 41
Ile truskawkowo-porzeczkowych: 40
6_4:
Malinowo-Truskawkowa: 29732
Malinowo-Porzeczkowa: 18008
Truskawkowo-Porzeczkowa: 18382
wyniki7.txt
7_1:
K2
7_2:
5 sekund 8.16
Avalone 8.25
Colt Express 7.54
Jenga 8.16
Koncept 8.37
Mamy szpiega 8.22
Przebiegle wielblady 7.73
Sushi Go 8.07
Swiatowy Konflikt 7.80
Szeryf z Nottingham 7.88
7_3:
334
7_4:
juniorzy 6 K2
seniorzy 24 K2
weterani 28 Robinson Crusoe
juniorzy 6 Terraformacja Marsa